Repository navigation
[Deps] Security: patched Node in Docker build and engines floor - #1142
Conversation
…or to 22.23.4 Co-authored-by: Aymeric Rabot <Aymericr@users.noreply.github.com>
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e8a9775f0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
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".
| }, | ||
| "engines": { | ||
| "node": ">=22.13.0" | ||
| "node": ">=22.23.4" |
There was a problem hiding this comment.
Restrict each Node major to its patched release
For users running newer Node majors, this range does not enforce the security floor described by the change: semver considers vulnerable releases such as Node 24.21.0 and 26.11.0—and unsupported Node 23/25 releases—to satisfy >=22.23.4, so npm emits no engine warning. Express the patched floors per supported major, for example >=22.23.4 <23 || >=24.22.1 <25 || >=26.12.1 <27, and apply the same correction to the root manifest.
Useful? React with 👍 / 👎.
* [Tooling] Align Node minimum to 22.23.4 Make the pascal doctor Node check follow the engines range from #1142 and update docs/skills that still said Node 22.13 or newer. * Docs: state per-major Node range where docs said 22.23.4 or newer The supported range is not contiguous, so match the pascal doctor message. * cli: doctor reports Bun instead of judging its Node compat version Bun 1.4.4 reports Node 26.3.0, which the engines range rejects, so the packed-runtime smoke test failed running pascal doctor under Bun. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
What does this PR do?
Picks up the October 21, 2026 Node.js security release (22.23.4 / 24.22.1 / 26.12.1, all flagged
security: truein https://nodejs.org/dist/index.json). It covers several high-severity CVEs: the Brotli decoder out-of-bounds write CVE-2026-111497, the dns.resolve NUL truncation CVE-2026-105482, and the TLS hostname bypasses CVE-2026-105483 and CVE-2026-106069.Dockerfilebuild stage.oven/bun:1.4.4-alpineis Alpine 3.24.3, checked from the image's rootfs layer. Alpine v3.24/main shipsnodejs 24.22.1-r0(built 2026-10-23) for both x86_64 and aarch64, per pkgs.alpinelinux.org and the APKINDEX, and 24.22.1 is the patched 24.x release. The stage now installs'nodejs>=24.22.1-r0'. That's a minimum rather than an exact pin, so later Alpine rebuilds still install, but a stale or unpatched index fails the build. Bun stays at 1.4.4.node:22.23.4-alpine, the patched release. Unchanged.engines.node. Raised to>=22.23.4in the rootpackage.json(was>=22.18) andpackages/cli/package.json(was>=22.13.0). No other package declaresengines.Impact on
@pascal-app/cliusers.enginesis advisory. npm prints anEBADENGINEwarning but still installs and runs the package unless the user has turned onengine-strict. The repo's own.npmrcis empty. Nothing in the repo readsengines. The runtime check inpascal doctor(packages/cli/src/diagnostics.ts) still accepts 22.13+, and the README/skills docs still say "Node.js 22.13 or newer". Both are left alone to keep this PR free of app-code changes. No functional break below 22.23.4, only the warning.How to test
docker buildx build --load -t pascal-editor:test .should succeed. The build log showsInstalling nodejs (24.22.1-r0)inbuild 3/7, andbun install --frozen-lockfilepasses.docker run --rm oven/bun:1.4.4-alpine sh -c "apk add --no-cache 'nodejs>=24.22.1-r0' && node --version && bun --version"should printv24.22.1and1.4.4.docker run -p 3999:3000 pascal-editor:test:GET /api/healthandGET /both return 200, andnode --versionin the container printsv22.23.4.All three were run locally on amd64.
Screenshots / screen recording
N/A — non-visual change
Checklist
bun devbun checkto verify)mainbranchNote
Low Risk
Version and packaging constraints only; no application logic changes, though Docker builds will fail if Alpine cannot satisfy the new Node minimum.
Reviewed by Cursor Bugbot for commit 9e8a977. Bugbot is set up for automated code reviews on this repo. Configure here.