CVE-2019-10056

7.5 HIGH

📋 TL;DR

This vulnerability in Suricata allows remote attackers to cause a denial of service (crash) by sending specially crafted network packets. It affects Suricata IDS/IPS systems running vulnerable versions, potentially disrupting network security monitoring.

💻 Affected Systems

Products:
  • Suricata
Versions: 4.1.3 and earlier versions with the vulnerable code
Operating Systems: All operating systems running Suricata
Default Config Vulnerable: ⚠️ Yes
Notes: Any Suricata deployment processing network packets is vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete Suricata service crash leading to loss of network intrusion detection/prevention capabilities, potentially allowing undetected attacks.

🟠

Likely Case

Service instability and crashes requiring manual restart, creating security monitoring gaps.

🟢

If Mitigated

Minimal impact if Suricata runs in fail-open mode or has redundancy, though detection gaps may still occur.

🌐 Internet-Facing: HIGH - Suricata typically processes network traffic from external sources, making it directly exposed to crafted packets.
🏢 Internal Only: MEDIUM - Internal network traffic could also trigger the vulnerability if malicious actors gain internal access.

🎯 Exploit Status

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

The vulnerability requires sending specific packet types but is straightforward to trigger.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.1.4 and later

Vendor Advisory: https://suricata-ids.org/2019/04/30/suricata-4-1-4-released/

Restart Required: Yes

Instructions:

1. Download Suricata 4.1.4 or later from suricata-ids.org. 2. Stop Suricata service. 3. Install the new version. 4. Restart Suricata service.

🔧 Temporary Workarounds

Rate limiting network traffic

linux

Implement network traffic rate limiting to reduce likelihood of exploitation

iptables -A INPUT -p tcp --dport <suricata_port> -m limit --limit 1000/second -j ACCEPT
iptables -A INPUT -p tcp --dport <suricata_port> -j DROP

🧯 If You Can't Patch

  • Implement redundant Suricata instances with automatic failover
  • Monitor Suricata process health and implement automatic restart scripts

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

suricata --build-info | grep 'Suricata Version'

Verify Fix Applied:

Verify version is 4.1.4 or later and test with known packet capture that previously caused crashes

📡 Detection & Monitoring

Log Indicators:

  • Suricata process crashes
  • Segmentation fault errors in logs
  • Unexpected service restarts

Network Indicators:

  • Unusual 28-byte packets to Suricata ports
  • Traffic patterns matching the vulnerability trigger

SIEM Query:

source="suricata.log" AND ("segmentation fault" OR "crash" OR "SIGSEGV")

🔗 References

📤 Share & Export