Skip to content

chore(security): patch pnpm audit vulnerabilities via overrides#390

Closed
jamesbhobbs wants to merge 2 commits into
mainfrom
chore/pnpm-audit-vitest-ws-qs-brace-expansion
Closed

chore(security): patch pnpm audit vulnerabilities via overrides#390
jamesbhobbs wants to merge 2 commits into
mainfrom
chore/pnpm-audit-vitest-ws-qs-brace-expansion

Conversation

@jamesbhobbs

@jamesbhobbs jamesbhobbs commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves all pnpm audit findings. pnpm audit now reports no known vulnerabilities (exit 0), and the full test suite (2200 tests across 127 files) passes on the new vitest.

Requested fixes (from the reported audit)

Severity Package Change Advisory
🔴 critical vitest 4.0.54.1.8 (+ @vitest/coverage-v8 to match) GHSA-5xrq-8626-4rwp — arbitrary file read/exec via Vitest UI server
🟠 moderate brace-expansion override >=5.0.5>=5.0.6 GHSA-jxxr-4gwj-5jf2 — DoS
🟠 moderate ws add override >=8.20.1 GHSA-58qx-3vcg-4xpx — uninitialized memory disclosure
🟠 moderate qs add override >=6.15.2 GHSA-q8mj-m7cp-5q26 — DoS in qs.stringify

Additional pre-existing findings also patched

While fixing the above I found that pnpm audit on main also reports 6 more vulnerabilities (2 high) in hono / fast-uri / ip-address — the same set the never-merged draft #376 targeted. Patched here too so the audit is fully clean (same transitive-override pattern):

Severity Package Change
🔴 high ×2 fast-uri add override >=3.1.2 (path traversal + host confusion)
🟠 moderate ×2 / 🟡 low ×1 hono override >=4.12.14>=4.12.18 (CSS injection, cache Vary, JWT NumericDate)
🟠 moderate ip-address add override >=10.1.1 (XSS in Address6)

This supersedes draft #376 — it can be closed.

Verification

  • pnpm auditNo known vulnerabilities found (exit 0)
  • pnpm test → 2200 passed (127 files) on vitest 4.1.8

Note

Root pnpm.overrides only protect monorepo/CI installs — they do not ship with the published @deepnote/mcp package. End-user @deepnote/mcp installs still resolve ip-address via express-rate-limit's exact pin until that's fixed upstream.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated development and testing dependencies to latest stable versions for improved reliability and security.

Resolve all pnpm audit findings:

- vitest 4.0.5 -> 4.1.8 (critical: arbitrary file read/exec via Vitest
  UI server, GHSA-5xrq-8626-4rwp); bump @vitest/coverage-v8 to match
- brace-expansion override >=5.0.5 -> >=5.0.6 (moderate DoS,
  GHSA-jxxr-4gwj-5jf2)
- add ws override >=8.20.1 (moderate uninitialized memory disclosure,
  GHSA-58qx-3vcg-4xpx)
- add qs override >=6.15.2 (moderate DoS in qs.stringify,
  GHSA-q8mj-m7cp-5q26)

Also patch 6 pre-existing audit findings surfaced on main that share
the same transitive-override pattern:

- add fast-uri override >=3.1.2 (high: path traversal + host confusion)
- bump hono override >=4.12.14 -> >=4.12.18 (CSS injection, cache Vary,
  JWT NumericDate)
- add ip-address override >=10.1.1 (moderate XSS in Address6)

pnpm audit now reports no known vulnerabilities. Full test suite
(2200 tests) passes on vitest 4.1.8.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: aca5ac66-bb76-4d5b-99d1-47b67eac41df

📥 Commits

Reviewing files that changed from the base of the PR and between ed2e587 and 056d627.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json

📝 Walkthrough

Walkthrough

The PR updates package.json with vitest/coverage-v8 bumped from 4.0.5 to 4.1.8, and adjusts pnpm.overrides constraints to enforce minimum versions for brace-expansion (>=5.0.6), hono (>=4.12.18), fast-uri (>=3.1.2), and ip-address (>=10.1.1).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • saltenasl
  • dinohamzic
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title accurately reflects the main change: security-focused dependency updates via pnpm overrides to patch audit vulnerabilities.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Updates Docs ✅ Passed PR is a security/chore update (dependency patches), not a feature implementation; documentation updates only required for new features.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch chore/pnpm-audit-vitest-ws-qs-brace-expansion

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

…st-ws-qs-brace-expansion

# Conflicts:
#	pnpm-lock.yaml
@jamesbhobbs jamesbhobbs marked this pull request as ready for review June 4, 2026 10:55
@jamesbhobbs jamesbhobbs requested a review from a team as a code owner June 4, 2026 10:55
@jamesbhobbs jamesbhobbs requested a review from tkislan June 4, 2026 10:55
@codecov

codecov Bot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.35%. Comparing base (ed2e587) to head (8131f5e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #390   +/-   ##
=======================================
  Coverage   83.35%   83.35%           
=======================================
  Files         145      145           
  Lines        7988     7988           
  Branches     2158     2220   +62     
=======================================
  Hits         6658     6658           
  Misses       1329     1329           
  Partials        1        1           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jamesbhobbs

Copy link
Copy Markdown
Contributor Author

#387

@jamesbhobbs jamesbhobbs closed this Jun 4, 2026
@jamesbhobbs jamesbhobbs deleted the chore/pnpm-audit-vitest-ws-qs-brace-expansion branch June 4, 2026 11:01
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