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_version": "3.2-2ubuntu3", "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" } ] }