Skip to main content

Curl EUVDEUVD-2025-17371

| CVE-2025-5399 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2025-06-07 2499f714-1537-4658-8207-48ae4bb9eae9
High
Disputed · 7.5 NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Impact

This vulnerability presents HIGH real-world risk despite being network-dependent: (1) CVSS 7.5 reflects high severity with AV:N (network-accessible), AC:L (low attack complexity), PR:N (no privileges required), and A:H (high availability impact); (2) The attack vector is trivial—any application connecting to a WebSocket server can be exploited if that server is compromised or attacker-controlled; (3) CWE-835 busy-loop conditions are reliably exploitable and likely have POC implementations; (4) The impact is guaranteed DoS with no graceful recovery (thread/process kill required), affecting application availability directly; (5) Affected applications include: chat clients, real-time collaboration tools, IoT platforms, monitoring dashboards, and any service using libcurl for WebSocket communication. However, exploitation requires either a compromised legitimate server or MITM position if not using TLS, slightly limiting attack surface in some scenarios. The lack of authentication requirement (PR:N) and low complexity make this highly concerning for production systems.

Exploit ScenarioDerived

Scenario 1 (Direct Attack): An attacker compromises a legitimate WebSocket service or sets up a malicious WebSocket endpoint. When a libcurl-based application (e.g., a chat client, monitoring dashboard, or IoT device) connects to this endpoint, the attacker sends a specially crafted WebSocket frame designed to trigger the busy-loop condition. The application's thread handling that connection enters an infinite loop, consuming 100% CPU and becoming unresponsive. The application must be restarted to recover. Scenario 2 (Supply Chain/MITM): An attacker positioned on the network path (compromised network, evil WiFi, BGP hijacking) intercepts WebSocket traffic and injects a malicious frame during the handshake or mid-connection. Same result: busy-loop DoS. Scenario 3 (Multiplied Impact): An IoT platform or SaaS backend using libcurl to proxy WebSocket connections is attacked, causing worker thread exhaustion as each connection that receives the malicious packet hangs indefinitely. Service-wide denial occurs when all worker threads are blocked. Attack complexity is LOW (AC:L)—the crafted packet likely has a simple, deterministic structure requiring no special conditions.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 14, 2026

Denial of Service vulnerability in libcurl's WebSocket implementation that allows a malicious server to send a specially crafted packet triggering an endless busy-loop, forcing applications to kill the affected thread or process to recover. This affects all libcurl versions with WebSocket support, with CVSS 7.5 (High) severity due to network-accessible attack vector requiring no authentication. The vulnerability has high real-world impact for any application using libcurl for WebSocket connections, though exploitation requires active malicious server control.

RemediationAI

Immediate actions: (1) Upgrade libcurl to patched version once released (typically announced at curl.se security advisories—patch version number pending, monitor releases post-CVE disclosure); (2) For critical systems, implement network segmentation to restrict WebSocket connections to trusted servers only; (3) Disable WebSocket support in libcurl at compile time if not required (./configure --without-websockets or similar); (4) Implement connection timeouts in calling application code to force disconnection if no data received within expected timeframe (workaround, not fix). Long-term: (1) Subscribe to curl security mailing list for patch notifications; (2) Implement automated patching for libcurl dependencies across all systems; (3) Monitor for indicators of exploitation (thread/process crashes correlated with WebSocket connections); (4) Use TLS for WebSocket connections (wss://) to reduce MITM attack surface, though this does not prevent compromised server attacks.

Affected VersionsENISA

curl 8.14.0 ≤8.14.0
curl 8.13.0 ≤8.13.0

Affected Packages

euvd curl no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability exists in libcurl's WebSocket protocol handler (typically in websocket.c or related WebSocket frame processing code). WebSocket is a stateful protocol (RFC 6455) that maintains persistent bidirectional communication channels over HTTP(S). The root cause is classified as CWE-835 (Loop with Unreachable Exit Condition), indicating a logic flaw where the WebSocket frame parsing loop fails to properly validate packet boundaries or frame structure, creating a condition where the parser cannot exit the processing loop regardless of state. This is distinct from infinite loops with proper exit conditions—the crafted packet creates a scenario where all exit paths are unreachable. The vulnerability affects libcurl versions compiled with WebSocket support (CPE: cpe:2.3:a:libcurl:libcurl:*), particularly recent versions that added or modified WebSocket functionality around 2024-2025.

Know when Curl gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Sources disagree (Low–High)
NVD PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu LOW
SUSE HIGH
Red Hat 4.3 MEDIUM

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
PoC Detected
Jul 30, 2025 - 19:41 vuln.today
Public exploit code
CVE Published
Jun 07, 2025 - 08:15 nvd
HIGH 7.5

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

CVE-2025-5399 affects applications using libcurl's WebSocket functionality, allowing remote attackers to trigger denial-of-service conditions by forcing affected processes into infinite loops. Organizations running services that accept WebSocket connections from untrusted sources face potential service unavailability and operational disruption until patches become available.

Business Impact: High
Compensating Controls

Implement strict network-level connection timeouts (30-60 seconds) for WebSocket connections; deploy WAF rules to detect and block suspicious WebSocket handshakes; restrict WebSocket endpoints to whitelisted source IPs; implement process-level watchdog/monitoring to detect and restart hung processes; disable WebSocket functionality if not business-critical; segment affected services to limit blast radius of DoS events; use reverse proxies with connection pooling and timeout enforcement.

Threat Intelligence Overview

EPSS Score
0.2%
Top 59% exploitable
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Curl

View all
CVE-2021-22901 HIGH POC
8.1 Jun 11

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when

CVE-2013-0249 HIGH POC
7.5 Mar 08

Stack-based buffer overflow in the Curl_sasl_create_digest_md5_message function in lib/curl_sasl.c in curl and libcurl 7

CVE-2015-3145 HIGH
7.5 Apr 24

The sanitize_cookie_path function in cURL and libcurl 7.31.0 through 7.41.0 does not properly calculate an index, which

CVE-2022-32206 MEDIUM POC
6.5 Jul 07

curl < 7.84.0 supports "chained" HTTP compression algorithms, meaning that a serverresponse can be compressed multiple t

CVE-2022-32207 CRITICAL POC
9.8 Jul 07

When curl < 7.84.0 saves cookies, alt-svc and hsts data to local files, it makes the operation atomic by finalizing the

CVE-2022-43551 HIGH POC
7.5 Dec 23

A vulnerability exists in curl <7.87.0 HSTS check that could be bypassed to trick it to keep using HTTP. Rated high seve

CVE-2022-32221 CRITICAL POC
9.8 Dec 05

When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data t

CVE-2018-0500 CRITICAL POC
9.8 Jul 11

Curl_smtp_escape_eob in lib/smtp.c in curl 7.54.1 to and including curl 7.60.0 has a heap-based buffer overflow that mig

CVE-2022-32205 MEDIUM POC
4.3 Jul 07

A malicious server can serve excessive amounts of `Set-Cookie:` headers in a HTTP response to curl and curl < 7.84.0 sto

CVE-2025-9086 HIGH POC
7.5 Sep 12

1. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack co

CVE-2023-23914 CRITICAL POC
9.1 Feb 23

A cleartext transmission of sensitive information vulnerability exists in curl <v7.88.0 that could cause HSTS functional

CVE-2023-27534 HIGH POC
8.8 Mar 30

A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde (~) character to be wrongly re

Vendor StatusVendor

Ubuntu

Priority: Low
curl
Release Status Version
upstream released 8.14.1-1
bionic not-affected code not present
focal not-affected code not present
jammy not-affected code not present
noble not-affected code not present
oracular not-affected code not present
plucky not-affected code not present
trusty not-affected code not present
xenial not-affected code not present

Debian

curl
Release Status Fixed Version Urgency
bullseye not-affected - -
bullseye (security) fixed 7.74.0-1.3+deb11u16 -
bookworm not-affected - -
bookworm (security) fixed 7.88.1-10+deb12u5 -
trixie fixed 8.14.1-2+deb13u2 -
forky fixed 8.18.0-2 -
sid fixed 8.19.0-1 -
(unstable) fixed 8.14.1-1 -

SUSE

Severity: High
Product Status
Container containers/lmcache-lmstack-router:0.1.6-1.2 Container containers/lmcache-vllm-openai:0.3.2-1.2 Container containers/milvus:2.4.6-7.197 Container containers/pytorch:2.8.0-nvidia-3.6 Container containers/vllm-openai:0.9.1-1.2 Container private-registry/harbor-db:2.13.2_git56172457-4.12 Container private-registry/harbor-trivy-adapter:0.33.2-2.37 Container suse/manager/5.0/x86_64/server-hub-xmlrpc-api:5.0.5.1.6.26.1 Container suse/manager/5.0/x86_64/server-migration-14-16:5.0.6.7.29.1 Container trento/trento-wanda:2.0.0-build1.32.1 Container trento/trento-web:3.0.0-build4.55.1 Image SLES15-SP6-CHOST-BYOS-Aliyun Image SLES15-SP6-CHOST-BYOS-GDC Image SLES15-SP6-CHOST-BYOS-SAP-CCloud Image ai_15_6 Affected
Container containers/open-webui-mcpo:0.0.17-1.1 Container containers/open-webui-pipelines:0.20250819.030501-7.2 Container containers/open-webui:0.6.18-12.6 Container suse/manager/5.0/x86_64/proxy-httpd:5.0.5.1.7.26.2 Container suse/manager/5.0/x86_64/proxy-salt-broker:5.0.5.1.7.28.2 Container suse/manager/5.0/x86_64/server:5.0.5.1.7.33.2 Image SLES15-SP6 Image SLES15-SP6-Azure-3P Image SLES15-SP6-Azure-Basic Image SLES15-SP6-Azure-Standard Image SLES15-SP6-BYOS Image SLES15-SP6-BYOS-Azure Image SLES15-SP6-BYOS-EC2 Image SLES15-SP6-BYOS-GCE Image SLES15-SP6-CHOST-BYOS Image SLES15-SP6-CHOST-BYOS-Azure Image SLES15-SP6-CHOST-BYOS-EC2 Image SLES15-SP6-CHOST-BYOS-GCE Image SLES15-SP6-EC2 Image SLES15-SP6-EC2-ECS-HVM Image SLES15-SP6-GCE Image SLES15-SP6-HPC Image SLES15-SP6-HPC-Azure Image SLES15-SP6-HPC-BYOS Image SLES15-SP6-HPC-BYOS-Azure Image SLES15-SP6-HPC-BYOS-EC2 Image SLES15-SP6-HPC-BYOS-GCE Image SLES15-SP6-HPC-EC2 Image SLES15-SP6-HPC-GCE Image SLES15-SP6-Hardened-BYOS Image SLES15-SP6-Hardened-BYOS-Azure Image SLES15-SP6-Hardened-BYOS-EC2 Image SLES15-SP6-Hardened-BYOS-GCE Image SLES15-SP6-SAP-Azure-3P Image SLES15-SP6-SAP-Azure-LI-BYOS Image SLES15-SP6-SAP-Azure-LI-BYOS-Production Image SLES15-SP6-SAP-Azure-VLI-BYOS Image SLES15-SP6-SAP-Azure-VLI-BYOS-Production Image SLES15-SP6-SAP-BYOS Image SLES15-SP6-SAP-BYOS-Azure Image SLES15-SP6-SAP-BYOS-EC2 Image SLES15-SP6-SAP-BYOS-GCE Image SLES15-SP6-SAP-Hardened Image SLES15-SP6-SAP-Hardened-Azure Image SLES15-SP6-SAP-Hardened-BYOS Image SLES15-SP6-SAP-Hardened-BYOS-Azure Image SLES15-SP6-SAP-Hardened-BYOS-EC2 Image SLES15-SP6-SAP-Hardened-BYOS-GCE Image SLES15-SP6-SAP-Hardened-EC2 Image SLES15-SP6-SAP-Hardened-GCE Affected
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/kvm-os-container:latest Container suse/sl-micro/6.0/rt-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Image SL-Micro Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Container suse/sl-micro/6.1/baremetal-os-container:2.2.1-7.6 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.33 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.18 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy