Low
WebSocket endless loop
Type: advisorySources: OSV
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-5399
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 09:36 UTC · Revision 1
Source evidence
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.
osv:CURL-CVE-2025-5399
Complete source record
{
"id": "ee88cbe5ce58005681193fc28e42c0cfac4b38bfea60c1f4de87d07f49e15250",
"url": "https://osv.dev/vulnerability/CURL-CVE-2025-5399",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "WebSocket endless loop",
"summary": "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.",
"evidence": "osv:CURL-CVE-2025-5399",
"products": [],
"severity": "low",
"structured": {
"id": "CURL-CVE-2025-5399",
"aliases": [
"CURL-CVE-2025-5399",
"CVE-2025-5399"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "8.13.0"
},
{
"fixed": "8.14.1"
}
]
},
{
"repo": "https://github.com/curl/curl.git",
"type": "GIT",
"events": [
{
"introduced": "3588df9478d7c27046b34cdb510728a26bedabc7"
},
{
"fixed": "d1145df24de8f80e6b167fbc4f28b86bcd0c6832"
}
]
}
],
"versions": [
"8.14.0",
"8.13.0",
"curl-8_14_0",
"curl-8_13_0"
],
"database_specific": {
"source": "https://curl.se/docs/CURL-CVE-2025-5399.json",
"vanir_signatures": [
{
"id": "CURL-CVE-2025-5399-5c67c32b",
"digest": {
"length": 3224,
"function_hash": "246136244445171702857622217714330817191"
},
"source": "https://github.com/curl/curl.git/commit/d1145df24de8f80e6b167fbc4f28b86bcd0c6832",
"target": {
"file": "lib/ws.c",
"function": "curl_ws_send"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CURL-CVE-2025-5399-7940916e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"205927081312732682779716038169572163720",
"200262896965368108989613347175457420328",
"191061302736480628505507033467536312329",
"305720063265502571742731976555669608845"
]
},
"source": "https://github.com/curl/curl.git/commit/d1145df24de8f80e6b167fbc4f28b86bcd0c6832",
"target": {
"file": "lib/ws.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-25T01:04:36Z"
}
}
],
"modified": "2026-10-25T01:04:36.094097253Z",
"provider": "osv",
"references": [],
"provider_metadata": {
"CWE": {
"id": "CWE-835",
"desc": "Loop with Unreachable Exit Condition ('Infinite Loop')"
},
"URL": "https://curl.se/docs/CVE-2025-5399.json",
"www": "https://curl.se/docs/CVE-2025-5399.html",
"award": {
"amount": "505",
"currency": "USD"
},
"issue": "https://hackerone.com/reports/3168039",
"affects": "lib",
"package": "curl",
"severity": "Low",
"last_affected": "8.14.0"
}
},
"related_cves": [
{
"value": "CVE-2025-5399",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 444265,
"published_at": "2025-06-04T08:00:00+00:00"
}