chore: resolve dependabot security alerts (pnpm + pip) - #9549
Conversation
Python (apps/api): - cryptography 48.0.1 -> 50.0.0 (PKCS#7 Bleichenbacher oracle, high) npm (pnpm-workspace.yaml catalog/overrides + lockfile): - react-router 7.15.1 -> 7.18.1, @react-router/dev -> 7.17.0, @react-router/node/serve -> 7.18.1 (DoS, open redirect, XSS, constructor injection) - sharp ^0.34.3 -> ^0.35.3 (libvips CVEs, high) - fast-uri -> 3.1.5 via override (host confusion, high) - js-yaml -> 4.3.0 via override (quadratic CPU DoS, high) - linkify-it -> 5.0.2 via override (mailto validator DoS, high) - postcss 8.5.15 -> 8.5.25 (source map path traversal, high/medium) - undici -> 7.29.0 via override (info disclosure, CRLF/cookie injection) - sanitize-html 2.17.0 -> 2.17.5 (URI scheme validation bypass, medium) - valibot -> 1.4.2 via override (flatten() throw, medium) - body-parser -> 1.20.6 via override (limit bypass DoS, low)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe pull request updates the pinned ChangesDependency updates
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
There was a problem hiding this comment.
Pull request overview
This PR resolves open Dependabot security alerts by updating pinned dependencies across the JS (pnpm catalog/overrides + lockfile) and Python (pip requirements) ecosystems.
Changes:
- Bumped
react-routerand related@react-router/*packages to patched 7.x releases via pnpm catalog/overrides. - Updated several vulnerable transitive dependencies (e.g.,
undici,fast-uri,js-yaml,linkify-it,body-parser,postcss,sanitize-html,sharp,valibot) via catalog bumps and overrides, with corresponding lockfile updates. - Upgraded Python
cryptographyinapps/api/requirements/base.txtto address high-severity advisories.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pnpm-workspace.yaml | Updates pnpm catalog pins and adds/adjusts overrides to force patched versions across the monorepo. |
| pnpm-lock.yaml | Regenerates lockfile to reflect the updated catalog/override resolutions and patched transitive graph. |
| apps/api/requirements/base.txt | Bumps cryptography to a patched version for API Python dependencies. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
Summary
Resolves the open Dependabot security alerts across both ecosystems in one PR.
Python —
apps/api/requirements/base.txtAll requirements files (
requirements.txt,local.txt,production.txt,test.txt) chain tobase.txt, so the single pin bump covers all five alerts. The only direct usage iscryptography.fernet.Fernet(apps/api/plane/license/utils/encryption.py), which is unaffected by the 50.x breaking changes — verified with a local install + encrypt/decrypt roundtrip.npm —
pnpm-workspace.yaml(catalog + overrides) andpnpm-lock.yamlNotes:
3.1.5(not 4.x) because its only consumer isajv@8, which declaresfast-uri@^3— 3.1.5 patches all three fast-uri advisories on the 3.x line.@react-router/nodeoverride (7.18.1) dedupes the copy pinned by@react-router/dev@7.17.0so a single, patched react-router tree is used.Remaining alert (not fixable yet)
@react-router/dev/serve/nodehave no stable 8.x release yet (only8.0.0-pre.x). This needs to wait for the stable v8 toolchain; it also only affects RSC mode, which these apps do not use.Verification
pnpm install— clean, no new peer warningspnpm check:types— 28/28 tasks passpnpm check:lint— 16/16 tasks pass, 0 errorspnpm build— 16/16 tasks pass (web, admin, space, live all build)cryptography==50.0.0pip install + Fernet roundtrip — passSummary by CodeRabbit