Skip to content

[CVE] bump oras-go to v2.6.2 and grpc to v1.82.1 (release-v1.40) - #5145

Draft
pasanw wants to merge 1 commit into
tigera:release-v1.40from
pasanw:pasan/cve-oras-grpc
Draft

[CVE] bump oras-go to v2.6.2 and grpc to v1.82.1 (release-v1.40)#5145
pasanw wants to merge 1 commit into
tigera:release-v1.40from
pasanw:pasan/cve-oras-grpc

Conversation

@pasanw

@pasanw pasanw commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Description

CVE remediation for the operator on release-v1.40 (Calico Enterprise v3.22.7). Indirect dependency bumps only — no operator code changes and no Kubernetes-version change. This branch is deliberately kept on k8s 1.35 to stay aligned with the calico-private core (also on k8s 1.35); see the containerd note below.

Both requires carry advisory-naming comments so a future go mod tidy cannot silently revert the pins.

containerd — deliberately not fixed here (VEX)

Three advisories remain on containerd v1.7.33: CVE-2026-50195 (critical 9.9), CVE-2026-53492 (critical 9.6), CVE-2026-53489 (high). They are not resolved in this PR, on purpose:

These three should be VEX'd (no-fix, deferred pending a k8s-1.36 uplift of the v1.40 line), not silently dropped.

Corrections vs the earlier version of this PR (raised in review)

Supersedes the autoclosed Renovate security PRs #5092 (grpc) and #5011 (oras v2.6.1). Renovate keys vulnerability alerts off the default branch, so a release branch's security PR autocloses the moment master is fixed — this branch's exposure would otherwise be invisible to automation after merge, which is part of why it lingered.

Fix-forward: release-v1.41 (grpc v1.75.1 + oras v2.6.0) and release-v1.42 (grpc v1.80.0 + oras v2.6.0) are newer than this branch but still vulnerable — companion PRs to those branches should follow.

Verification

ISS full scan of the rebuilt operator image (gcr.io/tigera-dev/pasan/operator, k8s 1.35 build)
 -> crit/high = 3, all containerd (the VEX'd residue below). No new crit/high introduced.

Cleared (absent from scan):
  oras-go   CVE-2026-50151, CVE-2026-50163
  grpc      GHSA-hrxh-6v49-42gf / GO-2026-6061

Remaining, VEX (no containerd fix; k8s-1.36 uplift deferred to keep operator/core aligned):
  containerd  CVE-2026-50195 (critical 9.9)
              CVE-2026-53492 (critical 9.6)
              CVE-2026-53489 (high)
  • go version -m operator confirms oras v2.6.2, grpc v1.82.1, go1.26.5 (boringcrypto/FIPS); k8s client stays 1.35 (unchanged); containerd v1.7.33 still linked (the deferred residue).

Release Note

Bumped oras-go to v2.6.2 and grpc to v1.82.1 to remediate oras-go CVE-2026-50151/CVE-2026-50163 and GHSA-hrxh-6v49-42gf. containerd advisories remain deferred (no containerd fix exists; removal requires a k8s-1.36 uplift not taken on this line).

For PR author

  • Tests for change — indirect dependency bumps, no new behaviour; validated by building + scanning the operator image.
  • If changing pkg/apis/, run make gen-files — n/a.
  • If changing versions, run make gen-versions — n/a (Go module versions).

For PR reviewers

Suggested labels: kind/bug, release-note-required, docs-not-required (no enterprise).

@pasanw pasanw added kind/bug Something isn't working enterprise Feature applies to enterprise only release-note-required docs-not-required labels Aug 6, 2026
@marvin-tigera marvin-tigera added this to the v1.40.14 milestone Aug 6, 2026
@pasanw pasanw removed the enterprise Feature applies to enterprise only label Aug 7, 2026
@pasanw
pasanw force-pushed the pasan/cve-oras-grpc branch from 7db4e22 to 26d76ac Compare August 7, 2026 04:19
Indirect dependency bumps only; no operator code changes, no k8s change.

  - oras.land/oras-go/v2 v2.6.0 -> v2.6.2: clears CVE-2026-50151 and
    CVE-2026-50163 (oras hardlink path traversal, high 7.1). Both are
    recorded as fixed = 2.6.2 by OSV and the GitHub Advisory DB, and by the
    master / release-v1.43 fixes (tigera#5100 / tigera#5101). (An earlier version of
    this PR stopped at v2.6.1 and wrongly stated v2.6.2 was not the fix.)
  - google.golang.org/grpc -> v1.82.1: clears GHSA-hrxh-6v49-42gf /
    GO-2026-6061.

Both requires carry advisory-naming comments so a future go mod tidy
cannot silently revert the pins.

NOT fixed here, deliberately: the containerd advisories CVE-2026-50195
(crit 9.9), CVE-2026-53492 (crit 9.6) and CVE-2026-53489 (high). containerd
1.7.33 has no fixed version; the only remediation is dropping the (purely
transitive, via Helm) dependency by bumping Helm to v3.21.3 -- but every
containerd-free Helm is already on k8s v0.36, and this branch is kept on
k8s v0.35 to stay aligned with the calico-private core (also on k8s 1.35),
avoiding an operator/core minor-version divergence. These three are VEXed
on this line; master and release-v1.43, already on k8s 1.36, take the Helm
route (tigera#5100 / tigera#5101).

Supersedes the autoclosed Renovate security PRs tigera#5092 (grpc) and tigera#5011
(oras v2.6.1). Renovate keys vulnerability alerts off the default branch,
so release-branch security PRs autoclose when master is fixed -- this
branch's exposure would otherwise be invisible to automation post-merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pasanw
pasanw force-pushed the pasan/cve-oras-grpc branch from 26d76ac to 276e575 Compare August 7, 2026 04:49
@pasanw pasanw changed the title [CVE] bump oras-go to v2.6.1 and grpc to v1.82.1 [CVE] bump oras-go to v2.6.2 and grpc to v1.82.1 (release-v1.40) Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants