Repository navigation
chore: upgrade Node to 26.12.1 (CVE-2026-111497) - #21
Conversation
Node 25.x is end of life and gets no fix for CVE-2026-111497 (Node2Shell). Pin the mise toolchain to 26.12.1 and relock its per-platform checksums (verified against the nodejs.org SHASUMS256). _Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high_ Change-Id: I8ed8cd06557dada394962a9d5cdb28dfce50ebca Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Upgrades the repo's Node toolchain from 25.9 (25.9.0) to 26.12.1 to fix CVE-2026-111497 (Node2Shell).
Node 25.x is end of life and gets no fix for this CVE, so this moves to the supported 26.x line. The fix is the Node upgrade itself. This package does not decode attacker uploads with Brotli, so this is not an emergency fix.
Files changed
mise.toml:node = "25.9"→node = "26.12.1"(exact pin). CI, publish, release-prebuilds and release-changelog workflows all get Node from this file throughjdx/mise-action.mise.lock: regenerated thetools.nodeentries withmise lock node. All 7 platform checksums match the officialSHASUMS256.txtfrom nodejs.org (and unofficial-builds.nodejs.org for the two musl entries, which newer mise resolves to the real musl tarballs instead of the glibc ones).Node references I checked and left unchanged
package.jsonengines.nodeis>=20.19. This is the consumer support range of the published Node-API package, not the runtime pin. Raising it would drop support for consumers, so it stays.@types/node^25.0.0: type definitions only, not a runtime.dogfood/bootstrap/*: recorded logs from an earlier session (they mention 25.9.0). They are historical evidence, not configuration..nvmrc,.node-version,volta, Dockerfile/Containerfile, devcontainer, orsetup-node/node-versionentries exist in the repo.Validation (local, linux-x64, Node v26.12.1, zig 0.15.2)
mise install, thennode -v→v26.12.1mise run cisteps:npm ci,npm run build:libghostty,npm run build:native,npm run build,npm run typecheck,npm test(6/6 passed),npm run smoke: all exit 0mise run release-prebuildssteps:npm run build:prebuild,npm run verify:prebuilds,npm pack --dry-run: all exit 0Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high