CVE-2024-30253
📋 TL;DR
A memory exhaustion vulnerability in @solana/web3.js allows attackers to crash applications by providing malicious inputs. This affects any server, client, mobile, or desktop application using vulnerable versions of the Solana JavaScript SDK that processes untrusted input. The vulnerability results in denial of service through application crashes.
💻 Affected Systems
- @solana/web3.js (Solana JavaScript SDK)
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Complete service outage through application crashes, potentially affecting all users of vulnerable applications.
Likely Case
Targeted denial of service attacks against specific applications or services using the vulnerable SDK.
If Mitigated
No impact if applications don't process untrusted input or are properly patched.
🎯 Exploit Status
The vulnerability requires specific inputs but no authentication. Exploitation details are not publicly documented.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple fixed versions listed in affected systems section
Vendor Advisory: https://github.com/solana-labs/solana-web3.js/security/advisories/GHSA-8m45-2rjm-j347
Restart Required: Yes
Instructions:
1. Identify your current @solana/web3.js version. 2. Update to the appropriate fixed version using npm update @solana/web3.js. 3. Restart your application/service. 4. Test functionality with the updated version.
🔧 Temporary Workarounds
Input Validation and Sanitization
allImplement strict input validation and sanitization for all data passed to @solana/web3.js functions
Rate Limiting
allImplement rate limiting on endpoints that accept input for @solana/web3.js processing
🧯 If You Can't Patch
- Implement strict input validation and sanitization for all user-provided data
- Deploy application behind a WAF with DoS protection capabilities
🔍 How to Verify
Check if Vulnerable:
Check package.json for @solana/web3.js version. If version is not in the fixed versions list, you are vulnerable.
Check Version:
npm list @solana/web3.js
Verify Fix Applied:
After updating, verify the version in package.json matches one of the fixed versions. Test application with various inputs to ensure no crashes.
📡 Detection & Monitoring
Log Indicators:
- Application crashes with memory exhaustion errors
- High memory usage spikes followed by process termination
- Unusual input patterns to @solana/web3.js functions
Network Indicators:
- Repeated requests with similar payloads to endpoints using @solana/web3.js
- Sudden increase in request volume to specific endpoints
SIEM Query:
source="application.logs" AND ("out of memory" OR "OOM" OR "memory exhaustion") AND process="node"
🔗 References
- https://github.com/solana-labs/solana-web3.js/commit/77d935221a4805107b20b60ae7c1148725e4e2d0
- https://github.com/solana-labs/solana-web3.js/security/advisories/GHSA-8m45-2rjm-j347
- https://github.com/solana-labs/solana-web3.js/commit/77d935221a4805107b20b60ae7c1148725e4e2d0
- https://github.com/solana-labs/solana-web3.js/security/advisories/GHSA-8m45-2rjm-j347