fix(docker): pin Node 22.23.4 for the image and CI (Node2Shell) #41
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/node22-node2shell"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
CVE-2026-111497 ("Node2Shell") is an out-of-bounds write in Node's bundled Brotli decoder. It was fixed on 2026-10-21 in 22.23.4. Both image stages used the floating
node:22-bookworm-slimtag; the copy cached on the build host was four weeks old, i.e. from before the fix. This pinsnode:22.23.4-bookworm-slimin both stages and in PR checks, and the README prerequisite now names the patched floor.Exposure is low on its own: Astro's Node adapter doesn't decode
Content-Encodingon requests, and the server makes no outbound fetches at runtime. The upgrade is still needed because the runtime itself was unpatched. Companion: website#226.How it was tested
docker build .succeeds;node --versioninside the image printsv22.23.4.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
CVE-2026-111497 ("Node2Shell") is an out-of-bounds write in Node's bundled Brotli decoder, fixed on 2026-10-21 in 22.23.4. The image used the floating node:22-bookworm-slim tag, so a cached or stale base could still carry an older 22.x. Pin the patched version in both stages and in the PR checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY