CVE-2024-32663

7.5 HIGH

📋 TL;DR

CVE-2024-32663 is a memory exhaustion vulnerability in Suricata's HTTP/2 parser where small amounts of HTTP/2 traffic can cause excessive memory consumption. This affects Suricata deployments running versions before 7.0.5 or 6.0.19. The vulnerability can lead to denial of service through resource exhaustion.

💻 Affected Systems

Products:
  • Suricata
Versions: All versions before 7.0.5 and all versions before 6.0.19
Operating Systems: All operating systems running Suricata
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with HTTP/2 parsing enabled (default configuration).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service as Suricata consumes all available memory, causing system instability or crash, potentially disrupting network security monitoring.

🟠

Likely Case

Degraded performance or temporary service interruption as memory consumption spikes, requiring manual intervention to restart services.

🟢

If Mitigated

Minimal impact with proper memory limits and monitoring in place, though some performance degradation may still occur during attack.

🌐 Internet-Facing: HIGH - HTTP/2 traffic from the internet can trigger this vulnerability, making internet-facing Suricata instances particularly vulnerable.
🏢 Internal Only: MEDIUM - Internal HTTP/2 traffic could still trigger the issue, though attack surface is more limited.

🎯 Exploit Status

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

Exploitation requires sending specially crafted HTTP/2 traffic, which is straightforward for attackers familiar with HTTP/2 protocol.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.0.5 or 6.0.19

Vendor Advisory: https://github.com/OISF/suricata/security/advisories/GHSA-9jxm-qw9v-266r

Restart Required: Yes

Instructions:

1. Download Suricata 7.0.5 or 6.0.19 from official sources. 2. Stop Suricata service. 3. Install the updated version. 4. Restart Suricata service. 5. Verify the new version is running.

🔧 Temporary Workarounds

Disable HTTP/2 Parser

all

Completely disable HTTP/2 parsing to prevent exploitation

Edit suricata.yaml and set: app-layer.protocols.http2.enabled: no

Reduce HTTP/2 Table Size

all

Limit memory consumption by reducing the maximum HTTP/2 table size

Edit suricata.yaml and set: app-layer.protocols.http2.max-table-size: 4096

🧯 If You Can't Patch

  • Implement workarounds to disable HTTP/2 parsing or reduce table size
  • Implement strict network segmentation to limit HTTP/2 traffic to Suricata instances

🔍 How to Verify

Check if Vulnerable:

Check Suricata version with: suricata --build-info | grep version

Check Version:

suricata --build-info | grep version

Verify Fix Applied:

Verify version is 7.0.5 or higher, or 6.0.19 or higher

📡 Detection & Monitoring

Log Indicators:

  • Unusual memory consumption spikes in system logs
  • Suricata process restarts or crashes
  • High memory usage alerts

Network Indicators:

  • Unusual patterns of HTTP/2 traffic
  • Multiple HTTP/2 connections from single sources

SIEM Query:

source="suricata" AND ("out of memory" OR "memory allocation failed" OR process_restart)

🔗 References

📤 Share & Export