Skip to content

chore(deps): build and test on Node 24.22.1 for the Brotli decoder fix - #968

Merged
cameri merged 1 commit into
mainfrom
chore/brotli-patched-node
Oct 24, 2026
Merged

cameri merged 1 commit into
mainfrom
chore/brotli-patched-node

Conversation

@chappie-daemon

Copy link
Copy Markdown
Collaborator

CVE-2026-111497: an out-of-bounds write in every Brotli decoder up to 1.2.0, CVSS 9.2, reachable by anything that decodes a br stream — including a br response the client never advertised. Node bundles its own decoder, so the fix is the Node release: 24.22.1 on the 24 line.

What changed

file before after
.nvmrc v24.14.1 v24.22.1
Dockerfile (build stage) node:24-alpine node:24.22.1-alpine@sha256:06d7adf…
Dockerfile (runtime stage) node:24-alpine node:24.22.1-alpine@sha256:06d7adf…

CI reads .nvmrc through setup-node, so tests now run on the same runtime the image ships — the old split meant CI verified 24.14.1 and the relay ran whatever node:24-alpine resolved to.

The digest pin matters as much as the version: a floating tag makes the runtime an accident of build time, which is how the vulnerable 24.22.0 stayed in the published agent image.

Verification

node:24.22.1-alpine resolves on Docker Hub as sha256:06d7adf3e0ef61a13f1d28682726366f97a15aa1888c934d3ecec86c33918b53. The relay's own wire behaviour is untouched — this changes only the runtime that executes it.

Worth noting for reviewers: libbrotli1 in the base image has no patched Ubuntu package yet, so anything linking the system library (curl in a build stage) is still exposed. Node and Bun carry their own decoder, which is why the runtime pin is the whole fix here.

CVE-2026-111497 is an out-of-bounds write in every Brotli decoder up to 1.2.0.
Node bundles its own decoder, so 24.22.1 is the fix on this line. Pin the image
digest in both stages instead of floating node:24-alpine, and move .nvmrc so CI
tests the same runtime the image ships.
@changeset-bot

changeset-bot Bot commented Oct 24, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9077fa3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
nostream Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The changed code appears safe to merge; no actionable issues were found.

Summary

Updates development and CI to Node 24.22.1 and pins both Docker stages to the same image digest.

  • The relay and CI now use Node 24.22.1.

Reviews (1) · Last reviewed commit: "chore(deps): build and test on Node 24.2..." · Reviewed by Greptile

@cameri
cameri merged commit 98bd234 into main Oct 24, 2026
16 checks passed
@cameri
cameri deleted the chore/brotli-patched-node branch October 24, 2026 13:32
@coveralls

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 40098185820

Coverage remained the same at 75.452%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 11286
Covered Lines: 8906
Line Coverage: 78.91%
Relevant Branches: 5848
Covered Branches: 4022
Branch Coverage: 68.78%
Branches in Coverage %: Yes
Coverage Strength: 804.53 hits per line

💛 - Coveralls

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.

3 participants