CVE-2024-55629

7.5 HIGH

📋 TL;DR

This vulnerability in Suricata allows attackers to evade detection by using TCP urgent data (out-of-band data) to make Suricata analyze network traffic differently than the actual endpoints. This affects all Suricata users running versions before 7.0.8 in IDS/IPS/NSM modes. The evasion could allow malicious traffic to bypass security monitoring.

💻 Affected Systems

Products:
  • Suricata
Versions: All versions prior to 7.0.8
Operating Systems: All operating systems running Suricata
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all Suricata deployments in IDS, IPS, or NSM modes. The vulnerability exists in TCP stream reassembly logic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers completely bypass Suricata's detection capabilities, allowing malware delivery, data exfiltration, or command-and-control traffic to go undetected.

🟠

Likely Case

Targeted evasion attacks against specific Suricata rules, allowing certain malicious activities to bypass detection while other traffic is still monitored.

🟢

If Mitigated

Minimal impact with proper configuration or patching, as Suricata can be configured to handle TCP urgent data appropriately.

🌐 Internet-Facing: HIGH - Suricata often monitors internet-facing traffic where attackers can directly exploit this evasion technique.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could use this to evade detection on internal network segments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires crafting TCP packets with urgent flag manipulation. No public exploit code is known, but the technique is documented in the advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.0.8

Vendor Advisory: https://github.com/OISF/suricata/security/advisories/GHSA-69wr-vhwg-84h2

Restart Required: No

Instructions:

1. Upgrade Suricata to version 7.0.8 or later. 2. Update configuration to set 'tcp.urgent-data' to 'ignore' or 'process' based on your needs. 3. Reload Suricata configuration without restart using 'suricatasc -c reload-rules' or similar.

🔧 Temporary Workarounds

Drop TCP urgent packets in IPS mode

all

Configure Suricata in IPS mode to drop all packets with TCP urgent flag set

drop tcp any any -> any any (sid:1; tcp.flags:U*;)

🧯 If You Can't Patch

  • Configure Suricata to ignore TCP urgent data by setting 'tcp.urgent-data: ignore' in suricata.yaml
  • Implement network-level filtering to drop TCP packets with urgent flag at firewall or router level

🔍 How to Verify

Check if Vulnerable:

Check Suricata version with 'suricata --build-info' or 'suricata -V'. If version is below 7.0.8, you are vulnerable.

Check Version:

suricata --build-info | grep Version

Verify Fix Applied:

Verify version is 7.0.8 or higher and check configuration includes 'tcp.urgent-data' setting. Test with crafted TCP urgent packets to ensure proper handling.

📡 Detection & Monitoring

Log Indicators:

  • Unusual TCP flag combinations in Suricata logs
  • TCP packets with urgent flag set in network traffic logs

Network Indicators:

  • TCP packets with URG flag set in suspicious contexts
  • Multiple TCP sessions with urgent data manipulation

SIEM Query:

source="suricata" AND (tcp.flags="URG" OR tcp.flags="URG,ACK") AND NOT (dest_port IN (20,21,22,23,25,53,80,110,143,443,993,995))

🔗 References

📤 Share & Export