CVE-2024-52532

7.5 HIGH

📋 TL;DR

CVE-2024-52532 is a denial-of-service vulnerability in GNOME libsoup's WebSocket implementation where certain malicious data patterns cause infinite loops and excessive memory consumption. This affects applications using vulnerable libsoup versions for WebSocket communication. Systems with WebSocket-enabled services using libsoup are vulnerable to service disruption.

💻 Affected Systems

Products:
  • GNOME libsoup
  • Applications using libsoup for WebSocket communication
Versions: All versions before 3.6.1
Operating Systems: Linux distributions with GNOME/lib-soup packages, Any OS running affected applications
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using libsoup's WebSocket functionality. Applications must be actively using WebSocket connections.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to resource exhaustion, potentially affecting multiple applications on the same system.

🟠

Likely Case

Targeted WebSocket service disruption causing application downtime and degraded performance.

🟢

If Mitigated

Limited impact with proper resource limits and monitoring in place, though service degradation may still occur.

🌐 Internet-Facing: HIGH - WebSocket endpoints exposed to the internet can be directly targeted by attackers.
🏢 Internal Only: MEDIUM - Internal attackers or compromised internal systems could exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specially crafted WebSocket data to vulnerable endpoints. No authentication needed if WebSocket endpoint is accessible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: libsoup 3.6.1 and later

Vendor Advisory: https://gitlab.gnome.org/GNOME/libsoup/-/issues/391

Restart Required: Yes

Instructions:

1. Update libsoup to version 3.6.1 or later using your distribution's package manager. 2. Restart all applications using libsoup. 3. For source installations: download from gitlab.gnome.org/GNOME/libsoup, compile, and replace existing installation.

🔧 Temporary Workarounds

WebSocket Traffic Filtering

linux

Implement network filtering to block or limit WebSocket traffic to vulnerable endpoints

iptables -A INPUT -p tcp --dport [WEBSOCKET_PORT] -j DROP
ufw deny [WEBSOCKET_PORT]

Resource Limits

linux

Set memory and CPU limits on processes using libsoup to contain resource exhaustion

systemctl set-property [SERVICE_NAME] MemoryLimit=512M
ulimit -v 524288

🧯 If You Can't Patch

  • Implement network segmentation to isolate WebSocket endpoints from untrusted networks
  • Deploy rate limiting and WebSocket traffic inspection at network perimeter

🔍 How to Verify

Check if Vulnerable:

Check libsoup version: dpkg -l | grep libsoup or rpm -qa | grep libsoup. If version is below 3.6.1 and WebSocket functionality is used, system is vulnerable.

Check Version:

pkg-config --modversion libsoup-3.0

Verify Fix Applied:

Confirm libsoup version is 3.6.1 or higher and test WebSocket functionality remains operational.

📡 Detection & Monitoring

Log Indicators:

  • Unusual memory consumption spikes in libsoup processes
  • WebSocket connection timeouts or failures
  • Process crashes with memory exhaustion errors

Network Indicators:

  • High volume of WebSocket connections to single endpoint
  • Unusual WebSocket payload patterns

SIEM Query:

source="*syslog*" AND ("libsoup" AND ("memory" OR "timeout" OR "crash")) OR ("websocket" AND "connection" AND "failed")

🔗 References

📤 Share & Export