Cloudanix VulnDB

CVE-2025-5399

None

CVSS

—

EPSS

1.4%

Published

Jun 7, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a widely used networking library can let a malicious server freeze programs that connect to it, forcing administrators to manually restart those programs to restore service.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A malicious WebSocket server can send a crafted packet that traps libcurl in an infinite busy-loop with no programmatic escape, forcing termination of the affected thread or process.

Why it matters to the business

Applications relying on libcurl for WebSocket connections can be rendered unresponsive, requiring manual intervention to recover and potentially causing service outages or degraded availability for dependent systems.

How an attack unfolds

An attacker hosts a malicious WebSocket server and waits for a vulnerable libcurl-based client to connect; once connected the server transmits a specially crafted packet that triggers the loop condition, locking the client process until it is killed.

How to fix it

Upgrade libcurl to a fixed version such as commit fdb8a789d2b446b77bd7cdd2eff95f6cbc814cf4 or apply the corresponding Ubuntu package updates for libice on the listed releases (2:1.0.9-1ubuntu0.16.04.1+esm1 or 2:1.0.9-2ubuntu0.18.04.1). Rebuild and redeploy any statically linked applications after updating the library.

How to confirm the fix worked

Confirm the installed libcurl version is at or above the fixed commit or package revision, then test WebSocket functionality against a server that previously triggered the loop to verify normal operation and exit behavior.

Typical attack path

  1. Attacker deploys a WebSocket server that responds with a maliciously formatted packet
  2. Victim application using libcurl initiates a WebSocket connection to the attacker-controlled endpoint
  3. Server sends the crafted packet during the WebSocket handshake or data exchange
  4. libcurl enters an endless busy-loop and ceases to process further requests or respond
  5. Application becomes unresponsive until the process or thread is externally terminated

How to detect it

Look for curl or application processes consuming 100% CPU while performing WebSocket operations with no progress in logs; correlate with outbound connections to unexpected WebSocket endpoints and absence of normal data transfer after connection establishment.

What your security team should do

  • Prioritize patching libcurl in all environments that perform WebSocket operations
  • Inventory applications statically or dynamically linking libcurl and schedule upgrades
  • Monitor for high-CPU processes involving libcurl or curl during WebSocket usage as a temporary detection signal
  • Apply network-level controls to restrict outbound WebSocket connections to trusted endpoints until patches are deployed

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:10 mysql-selinux 0 1.0.14-1.el10_0
AlmaLinux:10 mysql8.4 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-common 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-devel 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-errmsg 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-libs 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-server 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-test 0 8.4.6-2.el10_0
AlmaLinux:10 mysql8.4-test-data 0 8.4.6-2.el10_0
AlmaLinux:9 mecab 0 0.996-3.module_el9.6.0+152+8cbce00c.4
AlmaLinux:9 mecab-devel 0 0.996-3.module_el9.6.0+152+8cbce00c.4
AlmaLinux:9 mecab-ipadic 0 2.7.0.20070801-24.module_el9.6.0+152+8cbce00c
AlmaLinux:9 mecab-ipadic-EUCJP 0 2.7.0.20070801-24.module_el9.6.0+152+8cbce00c
AlmaLinux:9 mysql 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-common 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-devel 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-errmsg 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-libs 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-server 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-test 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 mysql-test-data 0 8.4.6-1.module_el9.6.0+180+a4e757e5
AlmaLinux:9 rapidjson-devel 0 1.1.0-19.module_el9.6.0+152+8cbce00c
AlmaLinux:9 rapidjson-doc 0 1.1.0-19.module_el9.6.0+152+8cbce00c
Alpine:v3.22 curl 0 8.14.1-r0
Debian:13 curl 0 No fix
SUSE:Linux Enterprise Module for Basesystem 15 SP6 curl 0 8.14.1-150600.4.28.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 curl 0 8.14.1-150600.4.28.1
openSUSE:Leap 15.6 curl 0 8.14.1-150600.4.28.1
openSUSE:Tumbleweed curl 0 8.14.1-4.1

Related vulnerabilities