Skip to content

fix(security): bump Percona MongoDB server and exporter images - #3377

Merged
lockwobr merged 3 commits into
mainfrom
fix/percona-mongodb-cves
Oct 22, 2026
Merged

lockwobr merged 3 commits into
mainfrom
fix/percona-mongodb-cves

Conversation

@mchmarny

Copy link
Copy Markdown
Member

Summary

Move the NVSentinel MongoDB datastore's percona-server-mongodb from 8.0.26-11 to 8.0.32-14 and its mongodb_exporter sidecar from 0.53.0 to 0.54.0, pinned by multi-arch index digest. Together they remove most of the critical and high findings the weekly image scan reports on these images.

Motivation / Context

The 2026-10-22 weekly scan (a2f7cb2) is clean on every AICR-built and NVSentinel image; its remaining critical and high findings are on the Percona images. AICR pins those by digest without building them, so the remediation is a newer upstream build rather than a VEX statement.

Fixes: #3376
Related: N/A

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • Build/CI/tooling

Component(s) Affected

  • CLI (cmd/aicr, pkg/cli)
  • API server (cmd/aicrd, pkg/server)
  • Recipe engine / data (pkg/recipe)
  • Bundler and deployers (pkg/bundler, pkg/component)
  • Collectors / snapshotter (pkg/collector, pkg/snapshotter)
  • Validator (pkg/validator)
  • Core libraries (pkg/errors, pkg/k8s)
  • Docs/examples (docs/, examples/)
  • Other: recipes/ (nvsentinel-mongodb values, three nvsentinel mixins, psmdb-operator upgrade record), scan matrix, mirror e2e list

Implementation Notes

Measured with grype 0.121.0, using the workflow's flags (--only-fixed -c .grype.yaml, linux/amd64):

Image From To Critical / high
percona-server-mongodb 8.0.26-11 8.0.32-14 26 / 261 → 17 / 116
mongodb_exporter 0.53.0 0.54.0 2 / 23 → 0 / 0
  • MongoDB stays within operator support. 8.0.32-14 is the 8.0 version psmdb-operator 1.23.1 lists as supported in its release notes. Moving the image tag rolls the replica set through the operator's smart update. No chart version moves, so no ADR-021 record is involved.
  • The remaining findings wait for operator 1.24. 8.0.34-15, percona-backup-mongodb 2.17.0, fluentbit 5.1.4-1 and pmm-client 3.10.0 scan 0 or near 0 critical and high. Operator 1.23.1 (still the newest release) certifies only the pinned 2.15.0, 5.1.2-1 and 3.9.1 for those images, so they follow the next operator release, which also moves the chart.
  • No other pins moved. Percona has not re-pushed any pinned tag with patches: every pinned tag still resolves to AICR's digest.
  • Every place the pins appear is updated together, as TestRemediationImagesPinnedEverywhere requires. That covers the nvsentinel-mongodb values, the observe, quarantine and remediation mixins, the scan matrix, the mirror e2e list and the render test constants. The BOM is regenerated, and the catalog's MongoDB version is updated.
  • The new images still support what AICR uses them for:
    • mongodb_exporter 0.54.0 accepts every flag our values pass, and its flag set is identical to 0.53.0's.
    • The 8.0.32-14 image still ships mongosh 2.10.0, which NVSentinel's setup Job runs.
    • That Job's name hashes global.datastore, which holds setupJob.image, so the image change renders a new Job instead of patching an immutable one.
  • The psmdb-operator upgrade record summary is reworded. It said "crVersion stays at 1.23.0, so the MongoDB version does not change". The MongoDB image is pinned separately, and bundles from this commit do roll mongod.

Testing

make qualify
make update-goldens   # no golden changes: no stock leaf includes the nvsentinel mixins
make bom-docs
  • make qualify passes.
  • The pin-consistency and remediation render tests pass.
  • make bom-docs changes only the two image lines.
  • The runtime proof is the nvsentinel remediation, slinky-drainer and health-events-analyzer Kind e2e lanes, which these paths trigger. They install the new mongod and exporter (on ubuntu-22.04, which mongod below 8.0.35 still needs).

Risk Assessment

  • Low — Isolated change, well-tested, easy to revert
  • Medium — Touches multiple components or has broader impact
  • High — Breaking change, affects critical paths, or complex rollout

Rollout notes: An existing nvsentinel-mongodb replica set rolls to MongoDB 8.0.32 on its next sync, which is a same-major patch upgrade. Revert by restoring the previous digests.

Checklist

  • Tests pass locally (make test with -race)
  • Linter passes (make lint)
  • I did not skip/disable tests to make CI green
  • I added/updated tests for new functionality
  • I updated docs if user-facing behavior changed
  • Changes follow existing patterns in the codebase
  • Commits are signed off and cryptographically signed (git commit -s -S) — GPG signing info

percona-server-mongodb 8.0.26-11 -> 8.0.32-14 (operator 1.23.1's certified
8.0 version) and mongodb_exporter 0.53.0 -> 0.54.0, pinned by multi-arch
index digest. grype 0.121.0 with the weekly scan's flags, linux/amd64:
server 26 critical / 261 high -> 17 / 116, exporter 2 / 23 -> 0 / 0.

Backup 2.17.0, fluentbit 5.1.4-1, pmm-client 3.10.0 and server 8.0.34-15
scan clean or nearly so but are not certified for operator 1.23.1; they
follow the next operator release.

Signed-off-by: Mark Chmarny <mark@chmarny.com>
@mchmarny
mchmarny requested review from a team as code owners October 22, 2026 14:36
@mchmarny mchmarny added the theme/supply-chain SLSA, SBOM, Sigstore, and provenance verification label Oct 22, 2026
@mchmarny mchmarny self-assigned this Oct 22, 2026
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
📥 Commits

Reviewing files that changed from the base of the PR and between 563f552 and aff87c1.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
📥 Commits

Reviewing files that changed from the base of the PR and between ffd8e28 and d5cf2aa.

📒 Files selected for processing: 10
  • .github/workflows/vuln-scan-images.yaml
  • docs/user/component-catalog.md
  • docs/user/container-images.md
  • pkg/bundler/validations/nvsentinel_remediation_render_test.go
  • recipes/components/nvsentinel-mongodb/values.yaml
  • recipes/components/psmdb-operator/upgrades.yaml
  • recipes/mixins/nvsentinel-observe.yaml
  • recipes/mixins/nvsentinel-quarantine.yaml
  • recipes/mixins/nvsentinel-remediation.yaml
  • tools/mirror-e2e

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

📝 Walkthrough

The Percona MongoDB image pin changes from 8.0.26-11 to 8.0.32-14, and the MongoDB exporter pin changes from 0.53.0 to 0.54.0. Updated digests appear in component configuration, setup jobs, image inventories, tests, and the vulnerability scan workflow. The component catalog and operator upgrade summary also reflect the MongoDB version update.

Priority: ⬆️ High

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other · Severity of issue fixed: High

Possibly related issues

None identified.

Suggested reviewers: arangogutierrez, varmesh

Merge Risk: ⚪ Minimal · up to d5cf2

The updated images and supporting records are aligned, with no established merge-blocking risk.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: updating the Percona MongoDB server and exporter images.
Description check Passed The description directly explains the image updates, security motivation, affected files, testing, compatibility, and rollout impact.
Linked Issues check Passed Issue #3376 is open and directly linked. The diff updates percona-server-mongodb from 8.0.26-11 to 8.0.32-14 and mongodb_exporter from 0.53.0 to 0.54.0. It updates the pins in `recipes/com…
Out of Scope Changes check Passed The changed workflow, documentation, render-test constants, mirror e2e list, and upgrade-record text support the two image updates in issue #3376. No unrelated product behavior or deferred Percona ima…
Full details: Linked Issues check

Explanation

Issue #3376 is open and directly linked. The diff updates percona-server-mongodb from 8.0.26-11 to 8.0.32-14 and mongodb_exporter from 0.53.0 to 0.54.0. It updates the pins in recipes/components/nvsentinel-mongodb/values.yaml, all three NVSentinel mixins, the image scan workflow, the mirror e2e list, the render-test constants, and the user documentation. The operator remains at 1.23.1, crVersion remains 1.23.0, and the upgrade record documents the same-major MongoDB image roll. The specified deferred Percona image versions are unchanged.

Full details: Out of Scope Changes check

Explanation

The changed workflow, documentation, render-test constants, mirror e2e list, and upgrade-record text support the two image updates in issue #3376. No unrelated product behavior or deferred Percona image update appears in the whole-PR diff. The changes stay within the linked issue scope.

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Recipe evidence check

No leaf overlays affected by this PR.

This gate is warning-only and never blocks merge.

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Coverage Report ✅

Metric Value
Coverage 85.9%
Threshold 83%
Status Pass
Coverage Badge
![Coverage](https://img.shields.io/badge/coverage-85.9%25-brightgreen)

No Go source files changed in this PR.

@lockwobr
lockwobr enabled auto-merge (squash) October 22, 2026 21:51
@lockwobr
lockwobr merged commit a1b6eba into main Oct 22, 2026
85 checks passed
@lockwobr
lockwobr deleted the fix/percona-mongodb-cves branch October 22, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump Percona MongoDB server and exporter images to clear scan findings

2 participants