Repository navigation
fix(docker): bump node to 22.23.4 - #903
Merged
Merged
Conversation
Pin base image and .nvmrc/engines to latest security release. Triggers patch release so new image is built and pushed.
8bittitan
requested review from
Akataya,
LorrisSaintGenez,
NatanTechofNY and
dylantientcheu
October 23, 2026 18:40
LorrisSaintGenez
approved these changes
Oct 23, 2026
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
TIP This summary will be updated as you push new changes.
pipeline1987
approved these changes
Oct 23, 2026
cmarguta-alg
approved these changes
Oct 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Node.js published security releases on October 21, 2026 (advisory). We're on 22.15.0, which is missing fixes for these CVEs that affect the 22.x line:
dns.resolve*()truncates hostnames containing a NUL bytecrypto.randomUUID()andrandomInt()entropy cache repeats values in snapshotsfs.realpathSyncThe DNS, TLS and keep-alive ones matter most for us. Renderscript fetches arbitrary customer URLs, and we rely on hostname checks for that. The Brotli one matters because the service decompresses responses from sites we don't control. Several of these only show up in code paths we may not use, but the 3 high severity ones are worth closing without auditing every call site.
The Docker image was also on a floating
node:22-bookworm-slimtag. That meant.nvmrc,enginesand the image could drift apart, and a rebuild alone wasn't a reliable way to pick up the patched runtime. Pinning it to22.23.4makes the image match what CI tests. It also needs afixcommit, so semantic-release cuts a patch release and builds a new image.@types/nodeis bumped to the matching 22.x so the types stay close to the runtime.Testing
yarn docker:build, then rundocker run --rm algolia/renderscript node -v. It should printv22.23.4/render?url=https%3A%2F%2Fwww.algolia.com&ua=Test+RenderscriptContent-Encoding: brand check it comes back intacthttp://0127.0.0.1). It should be blocked by the DNS filter and not rendereddry_run: trueand check it plans 2.3.9. Then run it for real and confirmalgolia/renderscript:2.3.9is pushed and reports Node 22.23.4