Suricata IDS / IPS versions 3.2.x before 3.2.13.13 and versions 3.1.3 and below suffered from an issue with IPv4 evasion.
ae4d50e6dd5d0d4d2b0cfb7661192e3225d3bededae3434f440a38ff2641bf79
Here are the details of the (patched) IPv4 evasion I found in Suricata IDS/IPS:
# Software
Suricata IDS/IPS
website : https://suricata-ids.org/
editor : Open Information Security Foundation (OISF) https://oisf.net/
# Impacted version
3.2.x before 3.2.13.13
3.1.3 and before
All execution mode are impacted : nfqueue, af-packet, ...
# Vulnerability description
Suricata did not used the IP protocol field value to identify
fragments from a same packet, whereas the RFC 791 states that 2
fragments should be defragmented together only if the protocol
field have the same value.
This flaw makes it possible to craft a packet that will only
be defragmented by Suricata (and not the destination host), leading to
a packet injection in the IDS detection engine.
# Impact on security
An attacker can fully evade any TCP signature, without any logs / alerts.
# Resources and links :
New patched Suricata versions :
https://suricata-ids.org/2017/02/15/suricata-3-2-1-available/
https://suricata-ids.org/2017/02/15/suricata-3-2-1-available/
Bug tracker and patch commit :
https://redmine.openinfosecfoundation.org/issues/2019
https://github.com/inliniac/suricata/commit/4a04f814b15762eb446a5ead4d69d021512df6f8
# Thanks and note
I'd like to give a special thanks to the suricata development team and
especially Victor Julien : I contacted him concerning the issue, got an answer
the same day, and it was corrected on github 2 working days after.
Really impressive guys.
If anyone needs more information about this, feel free to contact me at
jeremy [dot] beaume (a) protonmail [dot] com
Cheers !
Jeremy BEAUME