ANT-2026-WCSVRYAX · oisf/suricata
use-after-free high
Severity Claude critical · Security research firm high · Maintainer -
Discovered by Claude Mythos Preview
Anthropic's analysis, sealed at approval. Disclosure to the maintainer was performed by Trail of Bits.
ANT-2026-WCSVRYAX: heap-use-after-free in suricata
A heap-use-after-free was detected in Suricata while fuzzing through the fuzz_sigpcap_aware7 harness. The faulting access is a READ of freed heap memory. The sigpcap_aware harness drives combined signature rules and pcap traffic through the detection engine, so the bug is likely reachable via a crafted rule set paired with crafted packet capture input.
Target
Project: suricata
Commit: 7eb45c02afbaf2ad
Technical Details
AddressSanitizer heap-use-after-free (READ) in Suricata triggered via the fuzz_sigpcap_aware7 fuzzing entrypoint.
Crash signature: ASAN heap-use-after-free READ
Reproduction
Reproduce against the commit listed above as described under Technical Details.
[No reproducer or sanitizer output attached — request from security-cvd@anthropic.com if needed.]
Acknowledgement
This vulnerability was discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research. Please direct questions to security-cvd@anthropic.com and reference ANT-2026-WCSVRYAX.
Reference: ANT-2026-WCSVRYAX
Anthropic CVD Policy: https://www.anthropic.com/coordinated-vulnerability-disclosure
Triage and disclosure were performed by Trail of Bits.
- Verdict
- true positive
- Severity
- high
The change that resolved this finding.
diff --git a/rust/src/detect/transforms/dotprefix.rs b/rust/src/detect/transforms/dotprefix.rs
index 2b52462fba1a..b6f973835671 100644
--- a/rust/src/detect/transforms/dotprefix.rs
+++ b/rust/src/detect/transforms/dotprefix.rs
@@ -18,8 +18,8 @@
use crate::detect::SIGMATCH_NOOPT;
use suricata_sys::sys::{
DetectEngineCtx, DetectEngineThreadCtx, InspectionBuffer, SCDetectHelperTransformRegister,
- SCDetectSignatureAddTransform, SCTransformTableElmt, Signature, SCInspectionBufferCheckAndExpand,
- SCInspectionBufferTruncate,
+ SCDetectSignatureAddTransform, SCInspectionBufferCheckAndExpand, SCInspectionBufferInPlace,
+ SCInspectionBufferTruncate, SCTransformTableElmt, Signature,
};
use std::os::raw::{c_int, c_void};
@@ -49,17 +49,19 @@ unsafe extern "C" fn dot_prefix_transform(
if input_len == 0 {
return;
}
+ let inplace = SCInspectionBufferInPlace(buffer);
+
let output = SCInspectionBufferCheckAndExpand(buffer, input_len + 1);
if output.is_null() {
// allocation failure
return;
}
- // get input after possible realloc
- let input = (*buffer).inspect;
- if input.is_null() {
- // allocation failure
- return;
- }
+ let input = if inplace {
+ // may have been reallocated
+ (*buffer).buf
+ } else {
+ (*buffer).inspect
+ };
let input = build_slice!(input, input_len as usize);
let output = std::slice::from_raw_parts_mut(output, (input_len + 1) as usize);
https://github.com/OISF/suricata/commit/6d437956e2ed2da75976d7635cbe09a953d3c489
Dates from discovery through public reveal.
- 2026-03-26 Reported to tracker
- 2026-04-29 Sent to maintainer
- 2026-05-09 Maintainer acknowledged
- 2026-05-17 Patch released
- 2026-08-17 Publicly revealed
SHA-3-512 hash:
b21d5c53bcd9424f1c836f2ca4da99b974bbc8e0df5a3ef201cb2cc4f734880595b27a54ff544e55a50dc1268af982b35e83fea10a760091735bb9d8ffc4b5c8
Committed 2026-04-29 00:04 PT
Revealed 2026-08-17 10:47 PT
Verify (download preimage.json)
Show preimage JSON
{
"ant_id": "ANT-2026-WCSVRYAX",
"bug_class": "heap-use-after-free",
"claude_severity": "critical",
"commit_sha": "7eb45c02afbaf2ad",
"created_at": "2026-03-27T02:07:51+00:00",
"description": "A heap-use-after-free was detected in Suricata while fuzzing through the fuzz_sigpcap_aware7 harness. The faulting access is a READ of freed heap memory. The sigpcap_aware harness drives combined signature rules and pcap traffic through the detection engine, so the bug is likely reachable via a crafted rule set paired with crafted packet capture input.",
"discovered_at": null,
"location": null,
"poc_sha256": null,
"preimage_version": 1,
"project": "suricata",
"reproduction": null,
"technical_details": null,
"title": "heap-use-after-free in suricata",
"vendor_severity": "high"
}