In Suricata before 4.x, it was possible to trigger lots of redundant checks on the content of crafted network traffic with a certain signature, because of DetectEngineContentInspection in detect-engine-content-inspection.c. The search engine doesn't stop when it should after no match is found; instead, it stops only upon reaching inspection-recursion-limit (3000 by default).
{
"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"
}
]
}