CVE-2024-10829

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to send specially crafted multipart/form-data requests with excessive characters appended to boundaries, causing the server to enter an infinite loop and consume excessive resources, leading to a complete denial of service for all users. It affects all endpoints in eosphoros-ai/db-gpt v0.6.0 that process multipart requests.

💻 Affected Systems

Products:
  • eosphoros-ai/db-gpt
Versions: v0.6.0
Operating Systems: All operating systems running the affected software
Default Config Vulnerable: ⚠️ Yes
Notes: All endpoints that handle multipart/form-data requests are vulnerable by default in the specified version.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability for all users due to server resource exhaustion, potentially requiring manual intervention to restart services.

🟠

Likely Case

Intermittent or sustained service degradation or outages affecting user access and functionality.

🟢

If Mitigated

Minimal impact if patched or workarounds are applied, with potential for brief disruptions if attacks are detected and blocked.

🌐 Internet-Facing: HIGH, as unauthenticated attackers can exploit this remotely without any authentication, making internet-facing instances particularly vulnerable.
🏢 Internal Only: MEDIUM, as internal attackers or compromised systems could still exploit it, but network segmentation may reduce exposure.

🎯 Exploit Status

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

Exploitation is straightforward as it involves sending malformed multipart requests, but no public proof-of-concept has been identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check the vendor advisory for the patched version, as specific version not provided in CVE details.

Vendor Advisory: https://huntr.com/bounties/e3a4a0ad-a2e0-497f-a2e0-e3c0ec7c4de4

Restart Required: No

Instructions:

1. Review the vendor advisory at the provided URL for patch details. 2. Update eosphoros-ai/db-gpt to the latest patched version. 3. Verify the fix by testing multipart request handling.

🔧 Temporary Workarounds

Rate Limiting and Input Validation

all

Implement rate limiting on endpoints and validate multipart request boundaries to reject excessive characters.

Configure web server or application firewall rules to limit request size and rate.

🧯 If You Can't Patch

  • Deploy a web application firewall (WAF) to block malformed multipart requests with excessive boundary characters.
  • Restrict access to affected endpoints using network segmentation or authentication to reduce attack surface.

🔍 How to Verify

Check if Vulnerable:

Test by sending a multipart/form-data request with excessive characters appended to the boundary and monitor for resource consumption or service degradation.

Check Version:

Check the software version using the application's version command or configuration files, e.g., by inspecting package metadata or running 'pip show db-gpt' if installed via pip.

Verify Fix Applied:

After patching, repeat the test with malformed requests; the server should handle them gracefully without entering an infinite loop.

📡 Detection & Monitoring

Log Indicators:

  • Log entries showing repeated multipart request failures, high CPU/memory usage spikes, or error messages related to boundary parsing.

Network Indicators:

  • Unusual spikes in traffic to endpoints processing multipart/form-data, especially with large or malformed payloads.

SIEM Query:

Example: search for events where request_uri contains 'multipart' and (error_code matches 'timeout' or 'resource_exhaustion') within a short time window.

🔗 References

📤 Share & Export