CVE-2024-23836

7.5 HIGH

📋 TL;DR

CVE-2024-23836 is a resource exhaustion vulnerability in Suricata where attackers can craft malicious network traffic to cause excessive CPU and memory consumption, leading to denial of service. This affects all Suricata deployments running versions before 6.0.16 or 7.0.3. Network administrators and security teams using Suricata for intrusion detection/prevention are impacted.

💻 Affected Systems

Products:
  • Suricata IDS/IPS
Versions: All versions before 6.0.16 and 7.0.3
Operating Systems: All platforms running Suricata
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the protocol app-layer parser; specific protocols not disclosed in public information.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service where Suricata becomes unresponsive, dropping all traffic inspection and allowing malicious traffic to pass undetected.

🟠

Likely Case

Severe performance degradation causing packet loss, missed detections, and system instability requiring restart.

🟢

If Mitigated

Reduced performance impact with workarounds, but still vulnerable to targeted attacks.

🌐 Internet-Facing: HIGH - Attackers can send malicious traffic directly to internet-facing Suricata instances.
🏢 Internal Only: MEDIUM - Requires attacker to have internal network access or compromised internal host.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Crafting malicious network packets is straightforward for attackers.

No public exploit code available yet, but vulnerability details are public.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.0.16 or 7.0.3

Vendor Advisory: https://github.com/OISF/suricata/security/advisories

Restart Required: Yes

Instructions:

1. Backup current configuration. 2. Stop Suricata service. 3. Update to Suricata 6.0.16 or 7.0.3 using package manager or source compilation. 4. Restart Suricata service. 5. Verify version with 'suricata -V'.

🔧 Temporary Workarounds

Disable affected protocol parser

all

Disable the vulnerable protocol app-layer parser in Suricata YAML configuration.

Edit suricata.yaml and set app-layer protocol parser to 'disabled' for affected protocols

Reduce stream reassembly depth

all

Lower the stream.reassembly.depth value to reduce memory consumption impact.

Edit suricata.yaml and set 'stream.reassembly.depth' to a lower value (e.g., 1MB)

🧯 If You Can't Patch

  • Implement workarounds to disable affected protocol parsers and reduce stream.reassembly.depth
  • Deploy network segmentation to limit exposure and monitor for anomalous traffic patterns

🔍 How to Verify

Check if Vulnerable:

Check Suricata version with 'suricata -V' and compare to vulnerable versions (before 6.0.16 or 7.0.3).

Check Version:

suricata -V

Verify Fix Applied:

Confirm version is 6.0.16 or higher for 6.x branch, or 7.0.3 or higher for 7.x branch using 'suricata -V'.

📡 Detection & Monitoring

Log Indicators:

  • High CPU/memory usage alerts
  • Suricata process crashes or restarts
  • Performance degradation logs

Network Indicators:

  • Unusual protocol traffic patterns
  • High volume of crafted packets to Suricata interfaces

SIEM Query:

source="suricata" AND (cpu_usage>90 OR memory_usage>90) OR process="suricata" AND event="crash"

🔗 References

📤 Share & Export