An issue was discovered in Suricata before 6.0.4. It is possible to bypass/evade any HTTP-based signature by faking an RST TCP packet with random TCP options of the md5header from the client side. After the three-way handshake, its possible to inject an RST ACK with a random TCP md5header option. Then, the client can send an HTTP GET request with a forbidden URL. The server will ignore the RST ACK and send the response HTTP packet for the clients request. These packets will not trigger a Suricata reject action.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Suricata | Oisf | * | 6.0.4 (excluding) |
Suricata | Ubuntu | bionic | * |
Suricata | Ubuntu | trusty | * |
Suricata | Ubuntu | upstream | * |
Suricata | Ubuntu | xenial | * |