Home

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.

PUBLISHED Reserved 2025-05-31 | Published 2025-06-07 | Updated 2025-06-09 | Assigner curl

Problem types

CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')

Product status

Default status
unaffected

8.14.0 (semver)
affected

8.13.0 (semver)
affected

Credits

z2_ on hackerone finder

z2_ on hackerone remediation developer

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)

cve.org (CVE-2025-5399)

nvd.nist.gov (CVE-2025-5399)

Download JSON