fix(deps): add pnpm overrides to resolve security vulnerabilities#1101
fix(deps): add pnpm overrides to resolve security vulnerabilities#1101StevenWolfe wants to merge 3 commits into
Conversation
Add pnpm.overrides in package.json to force patched versions of transitive dependencies flagged by npm audit: - vite >=7.3.2 (path traversal, server.fs.deny bypass, file read) - rollup >=4.59.0 (arbitrary file write) - flatted >=3.4.2 (prototype pollution, recursion DoS) - postcss >=8.5.10 (XSS via malformed CSS) - yaml >=2.8.3 (stack overflow) - minimatch >=9.0.7 via @eslint/config-array and typescript-estree (ReDoS) - picomatch >=4.0.4 via micromatch (method injection, ReDoS) - brace-expansion >=2.0.3 via minimatch (DoS) One low-severity advisory remains (tmp <=0.2.3 via external-editor@3) that requires a major version bump of @inquirer/editor to resolve. Generated with Claude Code using claude-sonnet-4-6
- Remove @inquirer/editor>tmp override: was a no-op (tmp resolved to 0.0.33, incompatible with >=0.2.4 across series boundary). The advisory remains low-severity and requires @inquirer/editor to drop external-editor to fully resolve. - Update flake.nix pnpm dep hash to match revised pnpm-lock.yaml.
yaml: bump direct dep to ^2.8.3 (was ^2.8.2) and drop the override. The advisory requires >=2.8.3; since yaml is a direct runtime dependency, bumping it in `dependencies` propagates the fix to end-users via their package managers. The override only protected the local dev environment. picomatch: change scoped override (micromatch>picomatch) to a flat override. fast-glob depends on picomatch directly in addition to via micromatch, so the scoped override left a gap. A flat override covers all dep paths without risk of breakage -- only one picomatch version (4.0.4) exists in the tree.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR updates the ChangesDependency Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
quick note on the warning, it appears to be a false-positive:
|
Summary
Adds
pnpm.overridestopackage.jsonto force minimum patched versions for transitive dependencies flagged bypnpm audit, and updates the lockfile accordingly.Overrides added:
vite>=7.3.2rollup>=4.59.0flatted>=3.4.2postcss>=8.5.10minimatch > brace-expansion>=2.0.3@eslint/config-array > minimatch>=9.0.7@typescript-eslint/typescript-estree > minimatch>=9.0.7picomatch>=4.0.4Also bumps the direct
yamldependency from^2.8.2to^2.8.3(patch), and updates theflake.nixhash to match the new lockfile.Known gap —
tmp@0.0.33(low, GHSA-52f5-9888-hmc6):Cannot be fixed via override. The path is
@inquirer/prompts > @inquirer/editor > external-editor > tmp.external-editor@3.1.0depends on thetmp@0.0.xAPI, which is incompatible with the patched>=0.2.4(significant API break between0.0.xand0.2.x). Requires an upstream fix inexternal-editoror@inquirer/editor.Test plan
pnpm audit— 8 advisories resolved; 1 low (tmp) remains, unfixable via override (documented above)pnpm test— 76 test files, 1511 tests, all passingSummary by CodeRabbit