Description
Due to a mistake in libcurl's WebSocket code, a malicious server can send a particularly crafted packet which makes libcurl get trapped in an endless busy-loop. There is no other way for the application to escape or exit this loop other than killing the thread/process. This might be used to DoS libcurl-using application.
Problem types
CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')
Product status
8.14.0 (semver)
8.13.0 (semver)
Credits
z2_ on hackerone
z2_ on hackerone
References
www.openwall.com/lists/oss-security/2025/06/04/2
curl.se/docs/CVE-2025-5399.json (json)
curl.se/docs/CVE-2025-5399.html (www)
hackerone.com/reports/3168039 (issue)