Skip to content

Build and run the docs site on Node 24 LTS instead of Node 25 - #51

Merged
groksrc merged 1 commit into
mainfrom
fix/node-24-lts
Oct 22, 2026
Merged

groksrc merged 1 commit into
mainfrom
fix/node-24-lts

Conversation

@groksrc

@groksrc groksrc commented Oct 22, 2026

Copy link
Copy Markdown
Member

This PR moves the docs site's Docker image from Node 25 to Node 24 LTS. Node 25 is end of life and will not get the fix for CVE-2026-111497, a remote-code-execution bug in Node's bundled Brotli decoder.

Why

  • The Node.js security release of October 21, 2026 fixes CVE-2026-111497 (an out-of-bounds write in the Brotli decoder) in 22.23.4, 24.22.1 and 26.12.1. End-of-life lines, including Node 25, get no fix. Reference: https://thehackernews.com/2026/10/nodejs-brotli-decoder-bug-could-allow.html
  • Both the production and development docs apps currently report node -v = v25.9.0.
  • package.json already declares "engines": { "node": ">=20 <25" }, so the Node 25 image was outside the range the project says it supports. Node 24 is inside it.

Change

Dockerfile: node:25-bookworm → node:24-bookworm (build stage) and node:25-slim → node:24-slim (runtime stage). Nothing else changes.

Testing

  • docker build --pull succeeded locally.
  • The built image reports node -v = v24.22.1.
  • I collected 83 internal links from the live site's home and integrations pages and requested each from production and from the new image. All 83 match on HTTP status and page <title>.
  • The container log shows no server errors.

After merge

Merging to main runs the development deploy. Production deploys separately through the manual deploy-production workflow.

🤖 Generated with Claude Code

Node 25 reached end of life and will not receive the fix for
CVE-2026-111497, an out-of-bounds write in the Brotli decoder bundled
with Node.js that the October 21, 2026 security release fixes in
22.23.4, 24.22.1 and 26.12.1. The production image ran Node v25.9.0.

package.json already declares "node": ">=20 <25", so Node 24 also
brings the image back inside the supported engine range. Both build
and runtime stages move to the node:24 images, which currently ship
Node 24.22.1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@groksrc
groksrc merged commit 352c9e6 into main Oct 22, 2026
1 check passed
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.

1 participant