CVE-2024-9229

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to cause a Denial of Service (DoS) by sending specially crafted HTTP requests with manipulated multipart boundaries to the file upload feature. Attackers can render the service unavailable by causing excessive resource consumption, affecting all users of the vulnerable system. This impacts any deployment of stangirard/quivr v0.0.298 with the file upload feature enabled.

💻 Affected Systems

Products:
  • stangirard/quivr
Versions: v0.0.298
Operating Systems: All platforms running the vulnerable software
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with the file upload feature enabled and accessible. The vulnerability is in the multipart request parsing logic.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability for all users, requiring server restart and potentially causing data loss or corruption during file uploads.

🟠

Likely Case

Temporary service degradation or unavailability until the malicious request is processed or the server is restarted.

🟢

If Mitigated

Minimal impact with proper request validation and resource limiting controls in place.

🌐 Internet-Facing: HIGH - Unauthenticated exploitation makes internet-facing deployments particularly vulnerable to DoS attacks.
🏢 Internal Only: MEDIUM - Internal attackers or compromised internal systems could still exploit this, but attack surface is reduced.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires crafting HTTP requests with manipulated multipart boundaries, which is relatively straightforward for attackers with basic HTTP knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after v0.0.298 (check latest release)

Vendor Advisory: https://huntr.com/bounties/946a412d-422f-4623-bb1d-d2646ad23dfd

Restart Required: Yes

Instructions:

1. Update to the latest version of stangirard/quivr. 2. Verify the fix addresses multipart boundary validation. 3. Restart the application service.

🔧 Temporary Workarounds

Disable file upload feature

all

Temporarily disable the vulnerable file upload functionality until patching is possible.

Configure application to disable file upload endpoints

Implement request size limits

all

Configure web server or application to limit request size and processing time.

nginx: client_max_body_size 10M;
Apache: LimitRequestBody 10485760

🧯 If You Can't Patch

  • Implement WAF rules to block requests with malformed multipart boundaries
  • Use rate limiting and request throttling to mitigate DoS impact

🔍 How to Verify

Check if Vulnerable:

Check if running stangirard/quivr version v0.0.298 and test file upload with manipulated multipart boundaries.

Check Version:

Check application version in configuration or via application metadata endpoints

Verify Fix Applied:

Verify updated to version after v0.0.298 and test that malformed multipart requests are properly rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusually long request processing times
  • Multiple failed file upload attempts
  • High CPU/memory usage spikes

Network Indicators:

  • HTTP requests with malformed Content-Type headers
  • Abnormally large or slow multipart requests

SIEM Query:

source="web_server_logs" AND (uri_path="/upload" OR uri_path LIKE "%/upload%") AND response_time > 10000

🔗 References

📤 Share & Export