CVE-2025-58068·Python vulnerability
Eventlet is a concurrent networking library for Python. Prior to version 0.40.3, the Eventlet WSGI parser is vulnerable to HTTP Request Smuggling due to improper handling of HTTP trailer sections. This vulnerability could enable attackers to, bypass front-end security controls, launch targeted attacks against active site users, and poison web caches. This problem has been patched in Eventlet 0.40.3 by dropping trailers which is a breaking change if a backend behind eventlet.wsgi proxy requires trailers. A workaround involves not using eventlet.wsgi facing untrusted clients.
- Severity
- critical
- Software
- Python
- Fixed in
- 0.40.3
- Published
- 2025-08-29
Affected versions
Until: 0.40.3
Fixed in: 0.40.3
How to fix this CVE
Upgrade Eventlet to version 0.40.3 or later to remediate the HTTP request smuggling vulnerability in the WSGI parser. This fix modifies how HTTP trailer sections are processed, preventing attackers from crafting malicious requests that bypass security controls. If you cannot upgrade immediately, avoid exposing eventlet.wsgi directly to untrusted client connections.
sudo dnf check-update python3-eventlet && sudo dnf update python3-eventlet && sudo systemctl restart <your-eventlet-service>Defensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
POST|GET|HEAD|PUT|DELETE HTTP/1.1.*Trailer:|Transfer-Encoding:.*chunked.*(?:Trailer|trailers).*\r\n\r\n[A-Fa-f0-9]+\r\n.*trailer-field:\s*.*\r\n\r\n0\r\nWAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Block or normalize requests containing both 'Trailer' headers and 'Transfer-Encoding: chunked' in the same request. Enforce strict HTTP/1.1 compliance and drop any trailers before passing requests upstream to backend services. Use ModSecurity rule ID: 930210 (HTTP Trailer Headers) or implement custom rules to drop trailer sections entirely.How to check if you are affected
- Check the installed Eventlet version: python3 -c "import eventlet; print(eventlet.__version__)"
- Identify if eventlet.wsgi is in use: grep -r "eventlet.wsgi" /path/to/your/app/ or check application configuration files
- Search application logs for unusual Transfer-Encoding or Trailer headers: grep -i "trailer\|transfer-encoding" /var/log/app/*.log | grep -i "chunked"
- Verify the fix: After upgrading, re-run python3 -c "import eventlet; print(eventlet.__version__)" and confirm version >= 0.40.3
FAQ
What is CVE-2025-58068?
CVE-2025-58068 is an HTTP Request Smuggling vulnerability in Eventlet's WSGI parser that stems from improper handling of HTTP trailer sections. Attackers can exploit this to bypass front-end security filters, inject malicious requests into cached responses, or target active users.
Is CVE-2025-58068 being actively exploited?
No, this vulnerability is not currently listed in the CISA KEV catalog and no public exploits are available, though the attack vector is straightforward and the severity is critical.
What versions of Python are affected by CVE-2025-58068?
All versions of Eventlet prior to 0.40.3 are affected. The vulnerability exists in the Eventlet WSGI implementation, not in Python itself, so the specific Python version is less critical than the Eventlet version.
How do I check if my server is vulnerable to CVE-2025-58068?
Run: python3 -c "import eventlet; print(eventlet.__version__)" — if the version is below 0.40.3 and eventlet.wsgi is deployed, your server is vulnerable.
Does Defensia detect CVE-2025-58068?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Eventlet is installed on a monitored server, CVE-2025-58068 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-58068. Free for 1 server.
Get started free