Skip to content

Clear Dependabot backlog: grpc, OpenTelemetry, ebpf, thrift and npm overrides - #20

Merged
rachita-17 merged 3 commits into
masterfrom
bump-grpc-otel
Sep 29, 2026
Merged

rachita-17 merged 3 commits into
masterfrom
bump-grpc-otel

Conversation

@rachita-17

@rachita-17 rachita-17 commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

What

Clears the Dependabot alert backlog on master in one PR.

Go — direct bumps across all 13 modules

google.golang.org/grpc      v1.82.1 / v1.83.0 -> v1.83.2   (13 modules)
go.opentelemetry.io/otel*   v1.44.0           -> v1.45.0   (13 modules)
github.com/cilium/ebpf      v0.20.0           -> v0.22.0   (root, terraform, terraform-mwi)
github.com/apache/thrift    v0.23.0           -> v0.24.0   (root)

npm — transitive pins via overrides in pnpm-workspace.yaml

@xmldom/xmldom            0.8.13  -> 0.8.15
fast-uri                  3.1.5   -> 3.1.8
js-yaml                   3.15.1  -> 3.15.2,  4.3.1 -> 4.3.2
browserslist              4.28.2  -> 4.29.1
baseline-browser-mapping  2.10.32 -> 2.11.26
esbuild                   0.27.7  -> 0.28.1
undici (6.x transitive)   6.28.0  -> 6.29.0

npm — direct bump

undici (e2e/package.json)  ^8.10.0 -> ^8.10.2   (resolves to 8.11.2)

All six are transitive dependencies, so they are pinned ahead of their parents. Each override should be dropped once its parent ships the fixed version.

Why v1.83.2 and not v1.83.1

CVE-2026-84445 carries two vulnerable ranges:

< 1.82.2             -> patched in 1.82.2
>= 1.83.0, < 1.83.2  -> patched in 1.83.2

v1.83.1 satisfies only the first and stays vulnerable under the second. This PR originally pinned 1.83.1 and was corrected.

Notes for review

  • Overrides go in pnpm-workspace.yaml, not package.json. pnpm 11 no longer reads the pnpm field in package.json and ignores it silently — the first attempt here changed nothing and gave no error.
  • js-yaml is split by major because the lockfile carries both 3.x and 4.x and the advisory patches them separately.
  • The esbuild override is range-scoped to >=0.27.3 <0.28.1. The lockfile also holds 0.25.12, outside the vulnerable range; a blanket bump would move it three minors for no security benefit.
  • undici needs both a direct bump and an override. CVE-2026-85024 covers >= 6.25.0 < 6.28.1 and >= 8.1.0 < 8.10.2. The lockfile holds an 8.x line declared in e2e/package.json and a 6.x line pulled in transitively. Bump undici from 8.10.0 to 8.10.2 #21 bumps only the declared 8.x dep and leaves 6.x vulnerable. 7.29.0 is outside both ranges and untouched.
  • moby/go-archive alerts are stale — go.mod and e2e/runner/go.mod already read v0.3.0.

Upstream gravitational/teleport has not picked any of these up; its last commit (1283425b60, 2026-08-25) predates the advisories. This PR diverges from upstream until it catches up.

Warning

master now sits deliberately ahead of upstream. Future syncs must use a normal git merge upstream/master, keeping the higher version on any go.mod / go.sum / lockfile conflict. A merge -s ours sync (as used in #11) would silently revert every fix in this PR.

Verification

Root module compiles against the grpc/otel bumps — confirmed by CI on this PR:

SUCCESS  Build on Mac OS
SUCCESS  Build on Windows
SUCCESS  Build API

Locally, go build ./... returned exit 0 with no compiler output for all 12 non-root modules at the v1.83.1 stage of this branch.

Not built locally: the root module at any stage, the v1.83.1 -> v1.83.2 patch bump, and the ebpf/thrift/npm commit. CI is the gate for all of it.

The ruleset does not require status checks, so CI can be bypassed at merge time. Failing checks are Check Contributor License Agreement Signed (gravitational's bot, N/A on this fork), Checking reviewers, Lint (Docs) and Validate the changelog entry — upstream process jobs, not compile failures.

Expected result

Open alerts on master: 104 -> 0.

Supersedes

#9, #10, #14, #15, #16, #17, #18, #19, #21 — per-module and per-package bumps of the same dependencies. All should auto-close once this lands.

🤖 Generated with Claude Code

Applies the security bumps across all 13 Go modules in the repo. Upstream
gravitational/teleport has not picked these up yet, so this diverges from
upstream until it does.

  google.golang.org/grpc        v1.82.1 / v1.83.0 -> v1.83.2
  go.opentelemetry.io/otel*     v1.44.0           -> v1.45.0

Closes the largest remaining block of Dependabot alerts on master:

  grpc  CVE-2026-84445, CVE-2026-84304, CVE-2026-84303
  otel  advisories published 2026-09-17

CVE-2026-84445 carries two vulnerable ranges: < 1.82.2 and >= 1.83.0 < 1.83.2.
v1.83.1 satisfies only the first, so v1.83.2 is required to close it.

Supersedes #9, #10, #14, #15, #16, #17, #18 and #19, which bump the same
dependencies one module at a time.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@rachita-17 rachita-17 changed the title Bump grpc to v1.83.1 and OpenTelemetry to v1.45.0 across all modules Bump grpc to v1.83.2 and OpenTelemetry to v1.45.0 across all modules Sep 28, 2026
Go:
  github.com/cilium/ebpf    v0.20.0 -> v0.22.0  (root, terraform, terraform-mwi)
  github.com/apache/thrift  v0.23.0 -> v0.24.0  (root)

npm, via overrides in pnpm-workspace.yaml:
  @xmldom/xmldom            0.8.13  -> 0.8.15
  fast-uri                  3.1.5   -> 3.1.8
  js-yaml                   3.15.1  -> 3.15.2, 4.3.1 -> 4.3.2
  browserslist              4.28.2  -> 4.29.1
  baseline-browser-mapping  2.10.32 -> 2.11.26
  esbuild                   0.27.7  -> 0.28.1

All six npm packages are transitive, so they are pinned ahead of their parents
rather than bumped directly. Each override should be dropped once the parent
ships the fixed version on its own.

Two details worth recording:

  - js-yaml is split by major because the lockfile carries both 3.x and 4.x and
    the advisory patches them separately.
  - The esbuild override is range-scoped to >=0.27.3 <0.28.1. The lockfile also
    holds 0.25.12, which is outside the vulnerable range, and a blanket bump
    would move it three minors for no security benefit.

Overrides live in pnpm-workspace.yaml, not package.json: pnpm 11 no longer
reads the "pnpm" field in package.json and ignores it silently.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@rachita-17 rachita-17 changed the title Bump grpc to v1.83.2 and OpenTelemetry to v1.45.0 across all modules Clear Dependabot backlog: grpc, OpenTelemetry, ebpf, thrift and npm overrides Sep 28, 2026
  e2e/package.json  undici ^8.10.0 -> ^8.10.2   (resolves to 8.11.2)
  override          undici@6       -> ^6.28.1   (resolves to 6.29.0)

CVE-2026-85024 carries two ranges, >= 6.25.0 < 6.28.1 and >= 8.1.0 < 8.10.2.
The lockfile holds both an 8.x line (declared in e2e/package.json) and a 6.x
line pulled in transitively, so closing the alert takes a direct bump and an
override. Dependabot #21 bumps only the declared 8.x dep and leaves the 6.x
instance vulnerable.

7.29.0 is outside both ranges and is left alone.

Supersedes #21.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@rachita-17
rachita-17 merged commit 724a9ff into master Sep 29, 2026
30 of 49 checks passed
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.

2 participants