CVE-2024-38536

7.5 HIGH

📋 TL;DR

A memory allocation failure in Suricata's HTTP inspection module leads to a NULL pointer dereference and crash when the http.memcap limit is reached. This vulnerability affects all Suricata deployments using HTTP inspection. The crash causes denial of service for the intrusion detection/prevention system.

💻 Affected Systems

Products:
  • Suricata
Versions: All versions before 7.0.6
Operating Systems: All platforms running Suricata
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments with HTTP inspection enabled (default). The vulnerability triggers when http.memcap limit is reached.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete Suricata crash leading to loss of network security monitoring and intrusion prevention capabilities, potentially allowing undetected attacks.

🟠

Likely Case

Suricata crashes under heavy HTTP traffic when memory cap is reached, requiring manual restart and causing temporary security monitoring gap.

🟢

If Mitigated

With proper monitoring and restart automation, impact is limited to brief service interruption during restart.

🌐 Internet-Facing: HIGH - Suricata typically monitors internet-facing traffic and could be crashed by malicious HTTP traffic.
🏢 Internal Only: MEDIUM - Internal traffic could also trigger the condition, but exposure is more limited.

🎯 Exploit Status

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

Exploitation requires sending sufficient HTTP traffic to reach memory cap, which is straightforward but requires traffic volume.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.0.6

Vendor Advisory: https://github.com/OISF/suricata/security/advisories/GHSA-j32j-4w6g-94hh

Restart Required: Yes

Instructions:

1. Download Suricata 7.0.6 from official sources. 2. Stop Suricata service. 3. Install/upgrade to 7.0.6. 4. Restart Suricata service. 5. Verify version and functionality.

🔧 Temporary Workarounds

Increase http.memcap

all

Increase the memory cap to reduce likelihood of reaching limit

Edit suricata.yaml: set http.memcap to higher value (e.g., 67108864)

Disable HTTP inspection

all

Temporarily disable HTTP protocol inspection if not critical

Edit suricata.yaml: set app-layer.protocols.http.enabled to no

🧯 If You Can't Patch

  • Implement aggressive monitoring for Suricata crashes with automated restart
  • Deploy redundant Suricata instances with load balancing to maintain coverage during crashes

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

suricata --build-info | grep version

Verify Fix Applied:

Verify version is 7.0.6 or later and monitor for crashes under HTTP traffic

📡 Detection & Monitoring

Log Indicators:

  • Suricata crash logs
  • Segmentation fault errors
  • Process termination messages

Network Indicators:

  • Sudden drop in Suricata alert volume
  • Missing HTTP inspection alerts

SIEM Query:

source="suricata" AND ("segmentation fault" OR "crash" OR "terminated")

🔗 References

📤 Share & Export