fix(deps): Resolve Dependabot security alerts#17998
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
coolguyzone
left a comment
There was a problem hiding this comment.
Changes look good! Clean up the conflicts and this should be good to go.
12697c9 to
70bfd5c
Compare
Direct dependency bumps: - dompurify: 3.3.2 -> 3.4.11 (alerts 291-298, 333-339, 348-357) - js-cookie: ^3.0.5 -> ^3.0.7 (alert 325) - js-yaml: ^4.1.0 -> ^4.2.0 (alert 342) - ws: ^8.17.1 -> ^8.21.0 (pnpm audit high + moderate) Added vite as devDependency: - vite: ^7.3.5 (alerts 287-289, 343, 345; was transitive-only via vitest) New pnpm overrides for transitive dependencies: - dompurify: 3.4.11 (mermaid and global-search pull it transitively) - fast-xml-parser: ^5.7.0 (alerts 300, 303; google-cloud/storage) - undici: ^6.27.0 (alerts 359-360; bumped existing override) - postcss: ^8.5.10 (alert 301; next.js bundles 8.4.31) - uuid: ^11.1.1 (alert 324; no 9.x patch exists) - shell-quote: ^1.8.4 (alert 329 critical; via launch-editor) - launch-editor: ^2.14.1 (alert 344; pulls fixed shell-quote) - form-data: ^4.0.6 (alerts 346-347; via jsdom) - vite: ^7.3.5 (ensure lockfile resolves patched version) Lockfile updates via pnpm update: - picomatch: already at 2.3.2/4.0.4 on master - brace-expansion: 2.0.2 -> 2.1.1 (alert 284) - yaml: 1.10.2 -> 1.10.3, 2.8.2 -> 2.9.0 (alerts 277-278) Cleanup: - Removed @types/dompurify from devDependencies and overrides (dompurify ships its own types; @types/dompurify is deprecated)
70bfd5c to
541d8ec
Compare
| "minimatch": "^9.0.0", | ||
| "postcss": "^8.5.10", | ||
| "uuid": "^11.1.1", | ||
| "shell-quote": "^1.8.4", |
There was a problem hiding this comment.
Bug: Forcing uuid to v11.1.1 via an override may break transitive dependencies like @google-cloud/storage, which expect an older version and its default export.
Severity: HIGH
Suggested Fix
Remove the global override for uuid in package.json. If a specific version is needed for a direct dependency, address it there. Otherwise, allow the package manager to resolve the correct uuid version for each dependency, like @google-cloud/storage, to ensure it receives a compatible version (e.g., v8 or v9) that includes the expected default export.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: package.json#L184
Potential issue: The `uuid` package is being forced to version 11.1.1 via a
`package.json` override. This version of `uuid` removes the default export, which is a
breaking change from versions like v8 and v9. A transitive dependency,
`@google-cloud/storage@7.19.0`, was built for `uuid@^8.0.0` and may rely on the
now-removed default export. If `@google-cloud/storage` uses the old `require('uuid')`
import pattern, it will fail at runtime when any of its functions that internally use
`uuid` are called, leading to potential application crashes.
Did we get this right? 👍 / 👎 to inform future reviews.
There was a problem hiding this comment.
Looks like a false positive:
The default export was actually removed in uuid 10.0.0, but none of these packages use it. They all use v4 as a named export, which uuid 11.x fully supports. I confirmed this with runtime smoke tests from each consumer's dependency context after a clean node_modules reinstall.
DESCRIBE YOUR PR
Resolves open Dependabot security alerts via dependency bumps, lockfile updates, and targeted pnpm overrides. Supersedes #17699.
Critical (1):
shell-quote: ^1.8.4High-severity (5):
^3.0.5→^3.0.7fast-xml-parser: ^5.7.0^7.3.5form-data: ^4.0.6Medium-severity (20+):
3.3.2→3.4.11(direct dep + override)^4.1.0→^4.2.0uuid: ^11.1.1fast-xml-parser: ^5.7.0postcss: ^8.5.10(next.js bundles 8.4.31)launch-editor: ^2.14.1^7.3.5devDep + override^6.24.0→^6.27.0Not addressed in this PR:
@sentry/nextjsto bump its OpenTelemetry deps^0.28.1as direct dep; alert may be for transitive 0.27.xCleanup:
@types/dompurifyfrom devDependencies and pnpm overrides — dompurify 3.x ships its own TypeScript definitions, and@types/dompurifyis officially deprecated as a stubOverride justifications:
dompurify: 3.4.11mermaidand@sentry-internal/global-searchpull it transitivelyfast-xml-parser: ^5.7.0@google-cloud/storagedepends on old versionpostcss: ^8.5.10uuid: ^11.1.1shell-quote: ^1.8.4launch-editorlaunch-editor: ^2.14.1form-data: ^4.0.6jsdom(test environment)undici: ^6.27.0^6.24.0vite: ^7.3.5IS YOUR CHANGE URGENT?
PRE-MERGE CHECKLIST