Skip to content

security - patch Node and dependency advisories (23 Oct 2026) - #192

Merged
gocanto merged 1 commit into
mainfrom
security/2026-10-23-runtime-patches
Oct 23, 2026
Merged

gocanto merged 1 commit into
mainfrom
security/2026-10-23-runtime-patches

Conversation

@gocanto

@gocanto gocanto commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Changes

File Change Advisory
.nvmrc, docker/Dockerfile, docker/Dockerfile.caddy-watcher (NODE_VERSION), .github/workflows/linter.yml, .github/workflows/test.yml Node 25.8.2 → 24.22.1 Node.js security release of 21 Oct 2026 (10 CVEs incl. Brotli RCE CVE-2026-111497, TLS hostname bypasses, bundled eMudhra CA). Node 25 is end of life with no fix. engines (^20.19.0 || >=22.12.0) and every engine range in pnpm-lock.yaml accept 24.22.1.
docker/Dockerfile Updates the stale comment about Node 25 Docker tags —
package.json, pnpm-lock.yaml In-range updates: lodash 4.17.23 → 4.18.1, dompurify 3.3.3 → 3.4.17, vue 3.5.30 → 3.5.44, vite 8.0.0 → 8.3.5, vue-router 5.0.3 → 5.4.0, reka-ui 2.9.2 → 2.11.0 (pulls in defu 6.1.7), plus postcss 8.5.31, nanoid 3.3.20, source-map-js 1.2.2, picomatch 4.0.7 GHSA-r5fr-rjxr-66jc (lodash), GHSA-mrv2-3pqr-j5jr (dompurify), GHSA-737v-mqg7-c878 (defu), GHSA-c2c7-rcm5-vvqj (picomatch), GHSA-6g55-p6wh-862q and GHSA-r28c-9q8g-f849 (postcss), GHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8 and GHSA-xwg4-73v4-xw9w (nanoid), GHSA-68fv-2mgg-jv7q (source-map-js), GHSA-g2v6-rqmx-r4w6 (@vue/server-renderer), GHSA-v2wj-q39q-566r, GHSA-p9ff-h696-f583, GHSA-fx2h-pf6j-xcff and GHSA-587h-7wmj-h5pm (vite)

Checks

  • pnpm audit --prod --audit-level high: before 11 high, after 0 high (2 moderate left)
  • On Node 24.22.1: pnpm install --frozen-lockfile, pnpm test (207/207), pnpm lint (0 errors), pnpm format:check, pnpm build: pass
  • The committed docker/nodejs-keyring.kbx verifies the v24.22.1 SHASUMS256.txt.asc (good signature, Antoine du Hamel). A local image build could not run: Docker Hub returned 429 for debian:bookworm-slim.

Follow-ups

  • caddy:2.10.0-alpine (the artefact stage and the caddy-local service) is a frozen tag on Alpine 3.21.4 with ca-certificates 20250619, so it lacks the eMudhra refresh (CVE-2026-111943). Only caddy:2-alpine (2.11.7, Alpine 3.23.7, ca-certificates 20261020-r0) carries it, which means a Caddy minor upgrade. I left it out of this patch.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the Node.js version used across development, automated checks, and container builds.
    • Updated several underlying packages, including the development tooling. These changes do not add user-facing features.

Move off end-of-life Node 25.8.2 to Node 24.22.1 (.nvmrc, both Dockerfiles,
linter and test workflows) for the 21 Oct 2026 Node.js security release;
engines and every lockfile engine range accept 24. Take in-range updates of
lodash, dompurify, vue, vue-router, reka-ui and vite, which clear the high
audit findings in lodash, dompurify, defu, picomatch, postcss, nanoid,
source-map-js, @vue/server-renderer and vite.
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 43a60a04-979a-4024-847a-4bdc90e6a256
📥 Commits

Reviewing files that changed from the base of the PR and between 9881556 and df0a90e.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 6
  • .github/workflows/linter.yml
  • .github/workflows/test.yml
  • .nvmrc
  • docker/Dockerfile
  • docker/Dockerfile.caddy-watcher
  • package.json

Included review availability: This review used your included allowance. 1 included review remains after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

Walkthrough

The configured Node.js version changes from 25.8.2 to 24.22.1 across local, CI and Docker configuration. Five runtime dependency ranges and the Vite development dependency range also increase.

Changes

Node.js version alignment

Layer / File(s) Summary
Update Node.js version declarations
.nvmrc, .github/workflows/*, docker/Dockerfile*
The workflows, .nvmrc and both Dockerfiles now specify Node.js 24.22.1. The builder-stage comments also describe keyring verification.

Package dependency range updates

Layer / File(s) Summary
Raise package dependency ranges
package.json
The ranges for dompurify, lodash, reka-ui, vue, vue-router and the Vite development dependency were raised.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to df0a9

The runtime and dependency updates are consistent with the repository configuration and are ready to merge.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title names the security focus and the two kinds of change in the PR, Node runtime and dependency advisories. The changeset moves Node from 25.8.2 to 24.22.1 across .nvmrc, Dockerfiles and workflo…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the security focus and the two kinds of change in the PR, Node runtime and dependency advisories. The changeset moves Node from 25.8.2 to 24.22.1 across .nvmrc, Dockerfiles and workflows, and raises the ranges of lodash, dompurify, vue, vite, vue-router and reka-ui. The title is specific and matches the main change. Its date reference (23 Oct 2026) and its generic 'security' prefix add little, but they do not make it misleading.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (6 skipped: 6 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updateddompurify@​3.3.3 ⏵ 3.4.17100 +1100 +361009370 -20
Updatedlodash@​4.17.23 ⏵ 4.18.1100100 +1887 +182100
Updatedvite@​8.0.0 ⏵ 8.3.599 +1100 +4082 +198 +2100
Updatedvue@​3.5.30 ⏵ 3.5.449910091 +197100
Updatedvue-router@​5.0.3 ⏵ 5.4.091 +110097 -293 +1100
Updatedreka-ui@​2.9.2 ⏵ 2.11.09910097 +193 -2100

View full report

@gocanto
gocanto merged commit 5e307af into main Oct 23, 2026
6 checks passed
@gocanto
gocanto deleted the security/2026-10-23-runtime-patches branch October 23, 2026 04:38
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