Product Details (At a Glance)
- Product Name: Suricata
- Component: Detection Engine / Protocol Parsers
- Affected Versions: All versions prior to 8.0.3
- Deployment Context: Network IDS, IPS, NSM, inline and passive deployments
- Impact Summary: Engine crashes, memory exhaustion, potential monitoring blind spots
- Remediation Status: Official patches available in Suricata 8.0.3
CVE Summary Table
| CVE ID | CVSS Score | Severity | Vulnerability Type | Exploitability | Exploit Availability | Impact |
|---|---|---|---|---|---|---|
| CVE-2026-22260 | 7.8 | High | Stack Overflow | Network exploitable | No public PoC (yet) | Engine crash / DoS |
| CVE-2026-22259 | 7.5 | High | Memory Exhaustion | Network exploitable | No public PoC | OOM kill / service termination |
| CVE-2026-22258 | 7.6 | High | Unbounded Buffer Expansion | Network exploitable | No public PoC | Memory exhaustion / instability |
CVE-2026-22260 – Stack Overflow in Suricata Engine
Overview
CVE-2026-22260 is a stack overflow vulnerability in Suricata’s packet inspection engine, triggered during deep parsing of specially crafted network traffic.
An attacker does not need authentication or local access. Simply sending malformed or deeply nested protocol traffic to a monitored network can crash the engine.
This vulnerability primarily affects environments running Suricata in inline IPS mode or high-throughput IDS deployments.
How This Can Be Exploited
An attacker can craft packets that abuse recursive or nested parsing logic in Suricata’s protocol handlers. When the engine processes this traffic:
- Stack memory usage grows uncontrollably
- The engine exceeds stack limits
- Suricata crashes abruptly
This can be done remotely and repeatedly, resulting in a persistent denial-of-service condition.
No shell access or exploitation framework is required — just the ability to send traffic to a monitored interface.
Impact
- Immediate Suricata engine crash
- Loss of visibility and detection coverage
- Inline IPS deployments may fail open or fail closed
- Potential monitoring blind spot during active attacks
MITRE ATT&CK Mapping
- T1499 – Endpoint Denial of Service
- T1046 – Network Service Discovery (used to test parser behavior)
Detection & Indicators
Behavioral Indicators
- Sudden Suricata process termination
- Repeated crashes correlated with specific traffic patterns
- Core dumps referencing parser or decode functions
Example Log Artifacts
suricata.logshowing segmentation faults- System logs indicating stack overflow or SIGSEGV
- Engine restart loops in service managers
Detection Rules & Monitoring Guidance
Log Sources to Monitor
- Suricata engine logs (
suricata.log,stats.log) - System logs (
syslog,journalctl) - Container or orchestration logs (if containerized)
Heuristic Detection
- Alert on repeated engine restarts
- Monitor for unusually deep or malformed protocol fields
- Enable debug logging temporarily to isolate triggering traffic
Patch & Remediation
Official Fix:
Upgrade to Suricata 8.0.3 or later
Official Patch Link:
https://suricata.io/download/
No reliable configuration workaround exists for this issue beyond upgrading.
CVE-2026-22259 – Memory Exhaustion Leading to OOM Kill
Overview
CVE-2026-22259 is a memory exhaustion vulnerability where Suricata fails to properly release memory during certain parsing scenarios.
Over time, this causes uncontrolled memory growth until the operating system forcibly terminates the process.
This issue is particularly dangerous in long-running sensors and high-traffic environments.
How This Can Be Exploited
An attacker can generate network traffic that triggers repeated allocation paths without proper cleanup. This includes:
- Abnormally large protocol fields
- Repeated malformed session setup
- Crafted payloads that avoid normal parser exit conditions
The attacker does not need to flood traffic — slow, steady traffic is enough to exhaust memory.
Impact
- Progressive memory consumption
- Operating system OOM killer terminates Suricata
- Detection gaps lasting until manual or automated restart
- Potential system instability if memory pressure spreads
MITRE ATT&CK Mapping
- T1499 – Endpoint Denial of Service
- T1046 – Network Service Discovery
Detection & Indicators
Behavioral Indicators
- Gradual RSS memory growth
- No corresponding traffic increase
- Sudden Suricata termination by kernel OOM killer
Example Log Artifacts
- Kernel logs indicating OOM kill
- Suricata logs stopping without clean shutdown
- Metrics showing memory growth without release
Detection Rules & Monitoring Guidance
Log Sources to Monitor
- Kernel logs (
dmesg,/var/log/messages) - Suricata stats logs
- Container memory metrics (if applicable)
Operational Detection
- Set memory usage thresholds with alerts
- Track long-term memory trends
- Alert on Suricata restarts triggered by OOM
Mitigation
If immediate patching is not possible:
- Disable the affected protocol parser
- Apply strict memory limits at the OS or container level
These are risk-reduction measures only, not full fixes.
Patch & Remediation
Official Fix:
Upgrade to Suricata 8.0.3 or later
Official Patch Link:
https://suricata.io/download/
CVE-2026-22258 – Uncontrolled Buffer Expansion
Overview
CVE-2026-22258 involves unbounded buffer growth when Suricata processes specific traffic patterns.
Instead of enforcing reasonable size limits, internal buffers continue expanding until system memory is exhausted.
This vulnerability can be exploited quietly and does not require high bandwidth.
How This Can Be Exploited
An attacker sends payloads that:
- Continuously extend protocol fields
- Avoid termination conditions
- Trigger buffer reallocation loops
Each packet increases memory usage slightly, eventually destabilizing the engine.
Impact
- Memory exhaustion
- Performance degradation before failure
- Engine crash or forced termination
- Loss of inspection and alerting capability
MITRE ATT&CK Mapping
- T1499 – Endpoint Denial of Service
- T1046 – Network Service Discovery
Detection & Indicators
Behavioral Indicators
- Memory usage spikes during specific traffic sessions
- No matching alert volume increase
- Slow performance before crash
Example Log Artifacts
- Suricata stats showing buffer growth
- System logs indicating memory pressure
- Incomplete flow teardown entries
Detection Rules & Monitoring Guidance
Log Sources to Monitor
- Suricata stats and engine logs
- System memory telemetry
- Flow and session tracking logs
Payload Characteristics
- Abnormally large or growing protocol fields
- Repeated partial messages without completion
- Sessions that never fully terminate
Patch & Remediation
Official Fix:
Upgrade to Suricata 8.0.3 or later
Official Patch Link:
https://suricata.io/download/
Splunk Detection Logic & SOC Monitoring Guidance
This section provides Splunk SPL detections to identify exploitation attempts, engine instability, and post-exploitation impact related to these vulnerabilities.
Suricata Engine Crash Detection
index=os_logs OR index=suricata_logs
("suricata" AND ("segmentation fault" OR "SIGSEGV" OR "stack overflow" OR "core dumped"))
| stats count earliest(_time) latest(_time) by host
Purpose: Detect stack overflow crashes and parser-triggered failures.
Repeated Engine Restart Detection
index=os_logs
("Started Suricata" OR "Stopping Suricata")
| stats count by host
| where count > 5
Purpose: Identify denial-of-service conditions caused by repeated crashes.
OOM Kill Detection (Memory Exhaustion)
index=os_logs
("Out of memory" OR "oom-killer" OR "Killed process") AND "suricata"
| stats count by host
Purpose: Detect memory exhaustion exploitation and kernel-level termination.
Abnormal Memory Growth Monitoring
index=suricata_stats
| timechart avg(mem_rss) by host span=5m
Purpose: Early warning for memory leaks and buffer expansion issues.
Oversized Payload Detection
index=suricata_eve
event_type=alert OR event_type=flow
| eval payload_size=len(payload)
| where payload_size > 100000
| stats count by src_ip dest_ip proto
Purpose: Identify traffic patterns likely to trigger parser failures.
Long-Lived Session Detection
index=suricata_eve
event_type=flow
| where flow_duration > 3600
| stats count by src_ip dest_ip proto
Purpose: Detect stalled or abusive sessions consuming engine resources.
Correlated Exploitation Indicator
(
index=os_logs ("segmentation fault" OR "oom-killer")
OR index=suricata_eve payload_size > 100000
OR index=suricata_stats mem_rss > 80
)
| stats count by host
| where count >= 2
Purpose: Combine multiple weak signals into a strong exploitation alert.
Final Takeaways
- Upgrade immediately if running Suricata < 8.0.3
- Monitor engine stability and memory usage proactively
- Treat unexplained engine crashes as potential active exploitation
- Validate restart automation to reduce detection gaps
