Skip to content

fix(deps): remove unused svgo and pin ci node to 22.23.4 - #529

Merged
mixplore merged 2 commits into
devfrom
fix/node-security-release-svgo
Oct 22, 2026
Merged

mixplore merged 2 commits into
devfrom
fix/node-security-release-svgo

Conversation

@mixplore

@mixplore mixplore commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Follow-up to the Node.js security release of 2026-10-21, plus removal of the only vulnerable package that reaches SDK consumers.

None of the npm advisories published on 2026-10-21 (Vite, Vitest, Storybook, ApostropheCMS, sanitize-html, Electron, OpenClaw) appears in our lockfile.

Changes

Remove svgo from dependencies. svgo@3.0.2 had 4 high and 1 moderate advisory (GHSA-xpqw-6gx7-v673, GHSA-2p49-hgcm-8545, GHSA-w27v-7q3p-w38r, GHSA-4vpr-x523-8j87) and pulled in a vulnerable source-map-js@1.0.2. Nothing in the repo imports it. It came in with 8f4c538 when the logos were merged in. Removing it takes 18 packages out of the tree.

Pin CI Node to 22.23.4 through a new .nvmrc. 22.23.4 is the patched 22.x release for the October 2026 Node.js security release. It fixes CVE-2026-111497 (a Brotli decoder RCE that fetch can reach) and CVE-2026-106069 (a TLS hostname check bypass). With node-version: 22, setup-node can reuse an older 22.x cached on the runner. All four workflows now use node-version-file: .nvmrc, and the NODE_VERSION env vars are removed.

Notes

  • pnpm audit --prod now reports no known vulnerabilities. The remaining audit findings are in dev-only dependencies, which don't ship in the package.
  • prep-latest checks out master, but only after ff-master has fast-forwarded dev, so .nvmrc is there by the time it's read.
  • People running the SDK on Node 22 should upgrade to 22.23.4 or later themselves. engines stays at >=22.0.0.
  • The shared NexusMutual/workflows repo wasn't checked for its own Node version.

Testing

  • pnpm run ts:check-types, pnpm run build, pnpm test: all pass (258 tests)
  • pnpm audit --prod: clean
  • All four workflow files parse as valid YAML

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the Node.js version used by automated checks and release workflows to 22.23.4.
    • Removed a package dependency. These changes affect project maintenance and automation; no application features or user-facing behavior are changed.

mixplore and others added 2 commits October 22, 2026 12:03
svgo 3.0.2 was a runtime dependency with four high and one moderate
advisory (GHSA-xpqw-6gx7-v673, GHSA-2p49-hgcm-8545, GHSA-w27v-7q3p-w38r,
GHSA-4vpr-x523-8j87) and pulled in a vulnerable source-map-js. Nothing in
the repo imports it, so drop it rather than upgrade.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Node 22.23.4 fixes the October 21 2026 security release, including the
Brotli decoder RCE (CVE-2026-111497) reachable through fetch. A floating
`22` lets setup-node reuse an older cached runner version, so read an
exact version from .nvmrc, which also serves local nvm users.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 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: CHILL
  • Plan: Essentials
  • Run ID: 4ba5f78f-7e80-4a10-b71a-adf4811c6f38
📥 Commits

Reviewing files that changed from the base of the PR and between 69f6876 and 451b145.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 6
  • .github/workflows/prep-latest.yml
  • .github/workflows/prep-next.yml
  • .github/workflows/pull-request.yml
  • .github/workflows/release.yml
  • .nvmrc
  • package.json
💤 Files with no reviewable changes: 1
  • package.json

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

📝 Walkthrough

The CI workflows now read the Node.js version from .nvmrc, which specifies 22.23.4. The svgo dependency was removed from package.json.

Changes: Node.js workflow version

Layer / File(s) Summary
Set and use the Node.js version
.nvmrc, .github/workflows/prep-latest.yml, .github/workflows/prep-next.yml, .github/workflows/pull-request.yml, .github/workflows/release.yml
.nvmrc now specifies Node.js 22.23.4. The four workflows use .nvmrc instead of a workflow-level NODE_VERSION value.

Dependency update

Layer / File(s) Summary
Remove svgo dependency
package.json
The svgo dependency entry was removed.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 451b1

The dependency removal and CI Node.js pin are synchronized and introduce no actionable merge-blocking risk.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes both primary changes: removing the unused svgo dependency and pinning CI to Node.js 22.23.4.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying sdk with  Cloudflare Pages  Cloudflare Pages

Latest commit: 451b145
Status: ✅  Deploy successful!
Preview URL: https://ddc172d3.sdk-9yp.pages.dev
Branch Preview URL: https://fix-node-security-release-sv.sdk-9yp.pages.dev

View logs

@mixplore mixplore self-assigned this Oct 22, 2026
@mixplore
mixplore requested a review from valentinludu October 22, 2026 09:05
@mixplore
mixplore merged commit 0777c14 into dev Oct 22, 2026
3 checks passed
@mixplore
mixplore deleted the fix/node-security-release-svgo branch October 22, 2026 09:26
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.

2 participants