Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine. From 8.0.0 until 8.0.6, AppLayerParserSetTransactionInspectId() in src/app-layer-parser.c uses an inverted guard and marks only already-inspected transactions as inspected. On flows passed by a pass rule or pass-the-flow exception policy, detection is skipped, so completed transactions remain unmarked, are never freed, and are repeatedly rescanned. The per-flow list can grow without bound with quadratic cleanup cost, causing CPU and memory exhaustion. This issue is fixed in version 8.0.6.
{
"binaries": [
{
"binary_name": "libhtp-0.5.23-1",
"binary_version": "3.2-2ubuntu3"
},
{
"binary_name": "suricata",
"binary_version": "3.2-2ubuntu3"
},
{
"binary_name": "suricata-hyperscan",
"binary_version": "3.2-2ubuntu3"
},
{
"binary_name": "suricata-oinkmaster",
"binary_version": "3.2-2ubuntu3"
}
]
}