Skip to content

Bump grpc to v1.83.1 and x/crypto to v0.56.0; openssl rows clear on rebuild - #272

Merged
LouisLotter merged 2 commits into
masterfrom
cve-grpc-84304-bump
Sep 6, 2026
Merged

Bump grpc to v1.83.1 and x/crypto to v0.56.0; openssl rows clear on rebuild#272
LouisLotter merged 2 commits into
masterfrom
cve-grpc-84304-bump

Conversation

@ai-collaboration-app

@ai-collaboration-app ai-collaboration-app Bot commented Sep 3, 2026

Copy link
Copy Markdown

Covers the whole live set of findings that dev chart scan 34027081656 attributes to this repository. Two source bumps, and one row set that needs no source change at all.

What this changes

Finding Severity Action
CVE-2026-84304 HIGH google.golang.org/grpc v1.82.1 -> v1.83.1
CVE-2026-56855, CVE-2026-78662 UNKNOWN (x/crypto/ssh DoS) golang.org/x/crypto v0.55.0 -> v0.56.0

Both are version-only; no transitive module moved. exceptions/GO-2026-5932.yaml has its component purl moved to v0.56.0 to match — the evaluator keys exceptions on image and vulnerability id, so the bump could not have unmatched it, but a stale purl would misstate which artifact the accepted risk covers.

Why the x/crypto commit is here, when the scan says v0.53.0

The scan measured the stale tag 3c6ccf04, which predates #266. Rebuilding at the previous head 2b2f7f0d cleared the row the scan reported (CVE-2026-56854, already fixed on master by 26dfc04) and surfaced two rows the chart scan could not see, on both architectures:

image-pipeline evaluator (mode: inform)
  total in-scope findings:  3
  suppressed by exception:  1
  expired:                  0
  unmanaged:                2
Unmanaged findings:
  - CVE-2026-56855 [UNKNOWN] pkg:golang/golang.org/x/crypto@v0.55.0 [grype,trivy]
  - CVE-2026-78662 [UNKNOWN] pkg:golang/golang.org/x/crypto@v0.55.0 [grype,trivy]

GO-2026-6355 and GO-2026-6354, both fixed in v0.56.0. Worth knowing while reading this: mode: inform landed in #265, so those two were reported without failing the build — a green run here is not by itself evidence of a clean image.

x/crypto/ssh is not linked; the only module packages in the command graph are ocsp, pbkdf2 and scrypt. Bumping regardless, for the same reason as 26dfc04: a compatible fixed version exists, which is cheaper and more durable than a suppression.

The openssl rows need no change here, and the rebuild now clears them

1 HIGH + 27 MEDIUM (9 CVEs across openssl, openssl-3, libopenssl3) are inherited SLES packages that BCI.dockerfile installs unpinned via zypper update. The build at 2b2f7f0d installed libopenssl3/openssl-3 3.5.0-150700.5.45.2 and openssl 3.5.0-150700.3.4.1 from SLE_BCI on both amd64 and arm64 — exactly the fixed versions the scan asks for — and no openssl row survived in the rebuilt image's scan.

This makes the blocker premise in cve-reporter#66 stale for this repository: SLE_BCI has synced the 3.5.0 rebase. #66 still owns the estate-wide picture for the other five repositories.

Validation

Read back from the built artifact rather than from go.mod:

  • go version -m on the packaged process-agent binary confirms golang.org/x/crypto v0.56.0 and google.golang.org/grpc v1.83.1.
  • Installed rpm versions confirmed inside the rebuilt image, not inferred from the base image tag.
  • go mod verify passes; rake ci (imports, vet, lint, test, build, openpgp guard) runs in the pinned builder.
  • scripts/verify-openpgp-absent.sh passes with the release tags kubelet kubeapiserver linux cri containerd linux_bpf, keeping the GO-2026-5932 compensating control honest across the bump.
  • Trivy vulnerability, a separate Trivy secret scan at all severities, and Grype run on the rebuilt image on both published architectures in CI.

Not fixed here — needs a decision this week

exceptions/GO-2026-5932.yaml expires 2026-09-10. Its expiry is deliberately untouched by this PR: GO-2026-5932 has introduced: 0 and no fixed event in any version, so no bump can clear it and renewing it is an exception decision rather than remediation. When it last lapsed it turned master red on its own. Routed to To triage on cve-reporter#27, which is now scoped to that decision alone.

Coordination ticket: cve-reporter#69 — the single coordinator for this repository.

Merge order note: #275 also edits go.sum, so whichever merges second needs a refresh. (The earlier note here pointed at #271, which was closed unmerged.)

The dev chart scan 33750416189 reports CVE-2026-84304 (HIGH) against
google.golang.org/grpc v1.82.1 in
quay.io/stackstate/stackstate-k8s-process-agent. v1.83.1 is the fixed
version and is this repository's own direct dependency, not an inherited
base-image package, so it is fixable here.

The bump is version-only: no transitive module changed, `go mod verify`
passes, and `go build -tags "kubelet kubeapiserver linux cri containerd
linux_bpf" ./cmd/...` produces exactly the two pre-existing failures that
master produces (undefined runtime.Tracer / runtime.RuntimeSecurity in the
datadog-agent upstream eBPF compile assets, which the CI prebuild step
generates and a bare checkout does not). Unit tests across pkg, config and
model pass.

The other findings the same scan attributes to this repository are not
source work here. CVE-2026-56854 (x/crypto) was already fixed on master by
26dfc04; the scanned tag 3c6ccf0 predates it, so that row clears on the
next image build. The openssl family is base-image packages that
BCI.dockerfile installs unpinned via zypper update.
…8662

The rebuilt image at 2b2f7f0 reports two unmanaged findings that the dev
chart scan 34027081656 could not see, because that scan measured the stale
tag 3c6ccf0 at v0.53.0:

  CVE-2026-56855 [UNKNOWN] pkg:golang/golang.org/x/crypto@v0.55.0 [grype,trivy]
  CVE-2026-78662 [UNKNOWN] pkg:golang/golang.org/x/crypto@v0.55.0 [grype,trivy]

Both are golang.org/x/crypto/ssh channel-deadlock DoS advisories
(GO-2026-6355 and GO-2026-6354) whose fixed version is v0.56.0.

x/crypto/ssh is not linked here — the only module packages in the command
graph are ocsp, pbkdf2 and scrypt — so neither advisory is reachable in this
binary. Bumping anyway for the same reason as 26dfc04: a compatible fixed
version exists, which is cheaper and more durable than a suppression.

Version-only, no transitive module moved. The `// indirect` marker that
2b2f7f0 dropped from this line is restored, because nothing in this
repository imports x/crypto directly.

The GO-2026-5932 exception's component purl moves with the module. The
evaluator keys exceptions on image and vulnerability id, so the bump could
not have unmatched it, but a stale purl would misstate which artifact the
accepted risk covers. Its expiry is deliberately left alone: GO-2026-5932
has introduced: 0 and no fixed event in any version, so renewing it or
replacing it with a vexhub statement is an exception decision, not
remediation.

CVE ticket: StackVista/cve-reporter#69
@ai-collaboration-app ai-collaboration-app Bot changed the title Bump google.golang.org/grpc to v1.83.1 for CVE-2026-84304 Bump grpc to v1.83.1 and x/crypto to v0.56.0; openssl rows clear on rebuild Sep 6, 2026
@LouisLotter
LouisLotter merged commit d1ca2bd into master Sep 6, 2026
9 checks passed
@LouisLotter
LouisLotter deleted the cve-grpc-84304-bump branch September 6, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants