Skip to content

fix: resolve critical security vulnerabilities (21→9 vulnerabilities)#962

Closed
keith-oak wants to merge 1 commit intoAzure:mainfrom
keith-oak:fix-security-vulnerabilities
Closed

fix: resolve critical security vulnerabilities (21→9 vulnerabilities)#962
keith-oak wants to merge 1 commit intoAzure:mainfrom
keith-oak:fix-security-vulnerabilities

Conversation

@keith-oak
Copy link
Copy Markdown

@keith-oak keith-oak commented Jun 24, 2025

Summary

This PR addresses critical security vulnerabilities by updating dependencies, reducing total vulnerabilities from 21 to 9 (57% reduction).

Security Impact

Before

  • 1 critical vulnerability
  • 4 high vulnerabilities
  • 11 moderate vulnerabilities
  • 5 low vulnerabilities
  • Total: 21 vulnerabilities

After

  • 0 critical vulnerabilities
  • 1 high vulnerability
  • 7 moderate vulnerabilities
  • 1 low vulnerability
  • Total: 9 vulnerabilities

Changes Made

  1. Manual updates for critical issues:

    • cookie: ^0.5.0 → ^0.7.0 (fixes CVE-2024-47764)
    • vitest: ^2.0.2 → ^2.1.9 (fixes RCE vulnerability)
  2. Automated security fixes via npm audit fix:

    • Updated 90 packages
    • Fixed vulnerabilities in: @babel packages, @octokit packages, axios, nanoid, rollup, send, serve-static, tar-fs, and others

Testing

  • ✅ All unit tests pass
  • ✅ Build completes successfully
  • ✅ No breaking changes introduced

Remaining Vulnerabilities

The 9 remaining vulnerabilities require major version updates with potential breaking changes:

  • cypress (9.x → 14.x)
  • esbuild/vite dependencies
  • npm bundled dependencies (brace-expansion, cross-spawn)

These should be addressed in separate PRs with dedicated testing.

Related PRs

Benefits

This PR provides immediate security improvements without breaking changes, making it safe to merge quickly while planning for the remaining major updates.

- Reduced vulnerabilities from 21 to 9 (57% reduction)
- Fixed all critical vulnerabilities including CVE-2024-47764
- Updated cookie (^0.5.0 → ^0.7.0) and vitest (^2.0.2 → ^2.1.9)
- Applied npm audit fix for automatic security updates
- All tests pass, no breaking changes introduced

Remaining vulnerabilities require major version updates and should be addressed separately.
@keith-oak keith-oak closed this by deleting the head repository Aug 13, 2025
LongOddCode added a commit that referenced this pull request Apr 21, 2026
cookie < 0.7.0 is vulnerable to CVE-2024-47764 (CVSS 9.1, Critical): malicious cookie values can inject unexpected object keys like __proto__/constructor/prototype, enabling prototype pollution.

Resolved to cookie@0.7.2 in the lockfile. The package's serialize()/parse() signatures used in src/core/utils/cookie.ts are unchanged in 0.7.x, so this is a drop-in replacement.

Reviving the fix after the prior attempts (#960, #962) were closed without explanation; issue #932 is still open.

The additional lockfile churn is npm's standard peer-marker drift when regenerating the tree — no other package versions changed.
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.

Vulnerable dependency cookie < 0.7.0

1 participant