CVE-2019-18625
📋 TL;DR
This vulnerability allows an attacker to bypass TCP-based intrusion detection signatures in Suricata by sending specially crafted TCP packets with invalid timestamp options. It affects Suricata users running version 5.0.0 who rely on TCP-based signature detection.
💻 Affected Systems
- Suricata
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers can evade detection of malicious TCP traffic, allowing malware delivery, data exfiltration, or other attacks to go unnoticed by the IDS/IPS.
Likely Case
Targeted evasion of specific TCP-based signatures, potentially allowing certain attacks to bypass network security monitoring.
If Mitigated
With proper patching, the evasion technique is prevented and TCP signatures function as intended.
🎯 Exploit Status
Exploitation requires network access to send crafted TCP packets to the Suricata sensor. The technique involves specific TCP timestamp manipulation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 5.0.1 and later
Vendor Advisory: https://redmine.openinfosecfoundation.org/issues/3286
Restart Required: Yes
Instructions:
1. Update Suricata to version 5.0.1 or later. 2. Restart the Suricata service. 3. Verify the update was successful.
🔧 Temporary Workarounds
Disable TCP timestamp checking
allConfigure Suricata to ignore TCP timestamp options, though this may affect some legitimate traffic analysis.
# Add to suricata.yaml: detect.tcp.timestamp: false
🧯 If You Can't Patch
- Implement network segmentation to limit exposure to potential attackers.
- Use additional security controls like application-layer firewalls or host-based IDS to complement Suricata.
🔍 How to Verify
Check if Vulnerable:
Check Suricata version: if running 5.0.0, the system is vulnerable.
Check Version:
suricata --build-info | grep Version
Verify Fix Applied:
Verify Suricata version is 5.0.1 or later and check that TCP-based signatures are being triggered appropriately.
📡 Detection & Monitoring
Log Indicators:
- Unusual TCP session resets with malformed timestamp options
- Missing expected TCP signature alerts for known malicious traffic
Network Indicators:
- TCP packets with invalid timestamp options followed by session reset attempts
- Suspicious TCP handshake patterns
SIEM Query:
source="suricata" AND (event_type="alert" AND NOT signature_id=*) OR (tcp.flags="RST" AND tcp.options.timestamp invalid)
🔗 References
- https://github.com/OISF/suricata/commit/9f0294fadca3dcc18c919424242a41e01f3e8318
- https://github.com/OISF/suricata/commit/ea0659de7640cf6a51de5bbd1dbbb0414e4623a0
- https://lists.debian.org/debian-lts-announce/2020/01/msg00032.html
- https://redmine.openinfosecfoundation.org/issues/3286
- https://redmine.openinfosecfoundation.org/issues/3395
- https://github.com/OISF/suricata/commit/9f0294fadca3dcc18c919424242a41e01f3e8318
- https://github.com/OISF/suricata/commit/ea0659de7640cf6a51de5bbd1dbbb0414e4623a0
- https://lists.debian.org/debian-lts-announce/2020/01/msg00032.html
- https://redmine.openinfosecfoundation.org/issues/3286
- https://redmine.openinfosecfoundation.org/issues/3395