Summary
The published operator image reports 2 HIGH findings that are already fixed on main. No code change is needed; the released artifact simply predates the fix.
Detail
Scanning ghcr.io/nvidia/nodewright/operator:latest (digest sha256:38e9a79125633aa633f8e499306b2219c582c6f62a7bfe4083928212e70f74a7) with grype reports 4 fixable findings, all Go modules. The distroless base contributes none, which is the base doing its job.
| Sev |
Module in the image |
ID |
Fixed in |
| High |
google.golang.org/grpc v1.82.1 |
GHSA-vp52-pcj8-j9qc |
1.83.1 |
| High |
google.golang.org/grpc v1.82.1 |
GHSA-2v4p-qf9q-27wj |
1.82.2 |
| Medium |
google.golang.org/grpc v1.82.1 |
GHSA-qc2q-p7wx-3px3 |
1.83.1 |
| Medium |
go.opentelemetry.io/otel v1.43.0 |
GO-2026-5158 |
1.44.0 |
operator/go.mod on main already pins google.golang.org/grpc v1.83.2 and go.opentelemetry.io/otel v1.44.0, both past every fixed version above. All four findings therefore clear on the next operator release.
Why file this
Two reasons worth recording rather than leaving implicit.
First, it is the actionable half of a real gap: the fix exists and users running the released image do not have it. Cutting a release is the remedy.
Second, it establishes what the scan in #627 measures. Scanning :latest reports on the released artifact, not on main. That is the correct target for a supply-chain view, and it means a finding here can mean "already fixed, not yet shipped" rather than "unfixed". Anyone triaging a finding from that workflow should check main before writing a VEX statement, because a stale-release finding needs a release, not a suppression.
How to reproduce
grype ghcr.io/nvidia/nodewright/operator:latest --only-fixed -o json \
| jq -r '.matches[] | "\(.vulnerability.severity)\t\(.artifact.name) \(.artifact.version)\t\(.vulnerability.id)"'
grep -E 'google.golang.org/grpc|go.opentelemetry.io/otel ' operator/go.mod
Additional context
Found while implementing #627. Counts come from a vulnerability database six days stale at the time of scanning. Companion issue for the agent image: #628.
Summary
The published operator image reports 2 HIGH findings that are already fixed on
main. No code change is needed; the released artifact simply predates the fix.Detail
Scanning
ghcr.io/nvidia/nodewright/operator:latest(digestsha256:38e9a79125633aa633f8e499306b2219c582c6f62a7bfe4083928212e70f74a7) with grype reports 4 fixable findings, all Go modules. The distroless base contributes none, which is the base doing its job.google.golang.org/grpcv1.82.1google.golang.org/grpcv1.82.1google.golang.org/grpcv1.82.1go.opentelemetry.io/otelv1.43.0operator/go.modonmainalready pinsgoogle.golang.org/grpc v1.83.2andgo.opentelemetry.io/otel v1.44.0, both past every fixed version above. All four findings therefore clear on the next operator release.Why file this
Two reasons worth recording rather than leaving implicit.
First, it is the actionable half of a real gap: the fix exists and users running the released image do not have it. Cutting a release is the remedy.
Second, it establishes what the scan in #627 measures. Scanning
:latestreports on the released artifact, not onmain. That is the correct target for a supply-chain view, and it means a finding here can mean "already fixed, not yet shipped" rather than "unfixed". Anyone triaging a finding from that workflow should checkmainbefore writing a VEX statement, because a stale-release finding needs a release, not a suppression.How to reproduce
Additional context
Found while implementing #627. Counts come from a vulnerability database six days stale at the time of scanning. Companion issue for the agent image: #628.