fix(deps): bump axios, socket.io-client, uuid to patch critical CVEs#179
fix(deps): bump axios, socket.io-client, uuid to patch critical CVEs#179natansil wants to merge 1 commit intomainbase44/javascript-sdk:mainfrom identifying-axios-dependency-source-in-sdkbase44/javascript-sdk:identifying-axios-dependency-source-in-sdkCopy head branch name to clipboard
Conversation
Wiz scan of a customer app flagged 4 critical CVEs in axios@1.13.5, pulled in transitively via @base44/sdk. Bump direct deps so the fix propagates to all apps on the next SDK release: - axios ^1.6.2 -> ^1.15.2 (resolves 1.17.0; also bumps follow-redirects) - socket.io-client ^4.7.5 -> ^4.8.3 (resolves ws 8.20.1, socket.io-parser 4.2.6) - uuid ^13.0.0 -> ^13.0.2 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @natansil's task —— View job Security Dependency Update ReviewReview Checklist
SummaryThis PR successfully addresses critical security vulnerabilities in the SDK's dependencies, particularly the 4 CRITICAL CVEs in axios. The changes are well-documented and thoroughly tested. Code Quality and Best Practices ✅The dependency updates follow best practices:
Security Analysis 🔒Critical CVEs AddressedThe PR effectively patches the critical axios vulnerabilities (CVE-2026-42033, CVE-2026-42035, CVE-2026-42043, CVE-2026-42264) by updating:
Additional Security ImprovementsTransitive dependencies also updated:
Potential Issues and Considerations
|
🚀 Package Preview Available!Install this PR's preview build with npm: npm i @base44-preview/sdk@0.8.31-pr.179.d377a1ePrefer not to change any import paths? Install using npm alias so your code still imports npm i "@base44/sdk@npm:@base44-preview/sdk@0.8.31-pr.179.d377a1e"Or add it to your {
"dependencies": {
"@base44/sdk": "npm:@base44-preview/sdk@0.8.31-pr.179.d377a1e"
}
}
Preview published to npm registry — try new features instantly! |
Why
A Wiz security scan (
wizcliv1.48,scan dir, default policies) of TaskFlow app, 712 files — surfaced 46 dependency CVEs across 14 packages, including 4 CRITICAL CVEs, all rooted inaxios@1.13.5.The app does not declare axios in its own
package.json— it was only present in the lockfile.npm why axiosin the app confirmed the SDK is its only source:Because every Base44 app ships
@base44/sdk, every app inherits the vulnerable axios, and app owners can't fix it themselves — a localnpm install axios@xconflicts with the SDK's range and gets reverted on the next resolution. The fix has to land here and propagate via an SDK release.The critical CVEs (axios 1.13.5, fixed in 1.15.1/1.15.2)
Object.prototypevia a co-dependency can silently modify every JSON response or hijack the transport, exposing request credentials/headers/bodyThe scan also flagged platform-brought transitives:
follow-redirects1.15.11 (low),ws8.18.3 (medium),socket.io-parser4.2.5 (low),uuid13.0.0 (medium) — all addressed here too.Changes
^1.6.2^1.15.2^4.7.5^4.8.3^13.0.0^13.0.2Transitives now resolved:
follow-redirects1.16.0,ws8.20.1 (via engine.io-client 6.6.5),socket.io-parser4.2.6.uuidstays on v13 deliberately — v14 is a breaking major and 13.0.2 covers the advisory.Verification
npm ls axios ws socket.io-parser follow-redirects uuid— all patched versions, no duplicate old copies in the treenpm test— 166/166 tests pass (16 files), including type testsnpm audit— runtime dependencies clean; the remaining findings are all in the vitest/vite/esbuild devDependency chain (dev-server-only advisories that never ship to apps; fixing them requires a breaking vitest 1→4 upgrade, left as separate work)Out of scope
lodash,jspdf,postcss,dompurify,quill,react-router) — fixed per-app via the in-product security scannerpicomatch(vite/tailwind build chain devDep) and the vitest chain — dev-time onlyFollow-up after merge
Cut a release and coordinate with the platform team so the new SDK version lands in the app scaffold/template, and existing apps pick it up on their next dependency resolution.
🤖 Generated with Claude Code