W Suricata 5.0.0 odkryto podatność umożliwiającą ominięcie dowolnej sygnatury opartej na protokole TCP poprzez wstrzyknięcie fałszywego pakietu FIN. Jest to groźne, ponieważ atakujący może skutecznie ukryć złośliwy ruch przed systemem IDS/IPS, całkowicie neutralizując jego ochronę.
▸ Pokaż oryginał (EN)
An issue was discovered in Suricata 5.0.0. It is possible to bypass/evade any tcp based signature by overlapping a TCP segment with a fake FIN packet. The fake FIN packet is injected just before the PUSH ACK packet we want to bypass. The PUSH ACK packet (containing the data) will be ignored by Suricata because it overlaps the FIN packet (the sequence and ack number are identical in the two packets). The client will ignore the fake FIN packet because the ACK flag is not set. Both linux and windows clients are ignoring the injected packet.
Atakujący wstrzykuje sfabrykowany pakiet FIN tuż przed właściwym pakietem PUSH ACK zawierającym dane, które mają zostać ukryte. Pakiet FIN nakłada się na pakiet PUSH ACK – numery sekwencji i potwierdzenia (sequence/ack numbers) obu pakietów są identyczne, co powoduje, że Suricata ignoruje właściwy pakiet PUSH ACK jako duplikat. Docelowy klient (zarówno Linux, jak i Windows) ignoruje wstrzyknięty fałszywy pakiet FIN, ponieważ nie ma ustawionej flagi ACK. W efekcie dane docierają do klienta, ale nie są analizowane przez silnik Suricata.
Atakujący może całkowicie ominąć inspekcję ruchu TCP przez Suricata, co pozwala na przesyłanie złośliwych danych (np. exploitów, malware) bez wykrycia przez sygnatury IDS/IPS. Stanowi to bezpośrednie zagrożenie dla integralności systemu detekcji zagrożeń i dostępności ochrony sieciowej.
Należy zaktualizować Suricata do wersji zawierającej poprawki wskazane w commitach repozytorium OISF (commit 1c63d3905852f746ccde7e2585600b2199cefb4b oraz fa692df37a796c3330c81988d15ef1a219afc006). Użytkownicy Debian Linux powinni zastosować aktualizację pakietu opublikowaną w ramach debian-lts-announce z stycznia 2020 roku.
Suricata 5.0.0 (OISF); pakiety Suricata dostępne w Debian Linux (w tym dystrybucja LTS)
Podatność jest klasyfikowana jako CWE-436 (Interpretation Conflict), co oznacza, że wynika z różnicy w interpretacji nakładających się segmentów TCP między Suricata a implementacjami stosu sieciowego w systemach klienckich (Linux i Windows). Szczegóły techniczne zostały udokumentowane w zgłoszeniach #3324 i #3394 w systemie redmine.openinfosecfoundation.org.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:HDebian
OSDebian8.0Oisf Suricata
APPOisf5.0.04.1.5 – 4.1.6 (bez)
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki