CRITICAL🇬🇧 English

CVE-2019-16411

Odczyt poza zakresem pamięci w Suricata 4.1.4 (dekodowanie IPv4)

CVSS 9.8v3.1pub. 2019-09-24upd. 2024-11-21

Podatność w Suricata 4.1.4 umożliwia atakującemu zdalne wywołanie odczytu poza przydzielonym obszarem pamięci (out-of-bounds read) poprzez wysłanie specjalnie spreparowanych pakietów IPv4 z niepoprawnymi opcjami. Ze względu na krytyczny poziom CVSS 9.8 i sieciowy wektor ataku bez wymagania uwierzytelnienia, stanowi poważne zagrożenie dla systemów IDS opartych na Suricata.

Pokaż oryginał (EN)

An issue was discovered in Suricata 4.1.4. By sending multiple IPv4 packets that have invalid IPv4Options, the function IPV4OptValidateTimestamp in decode-ipv4.c tries to access a memory region that is not allocated. There is a check for o->len < 5 (corresponding to 2 bytes of header and 3 bytes of data). Then, "flag = *(o->data + 3)" places one beyond the 3 bytes, because the code should have been "flag = *(o->data + 1)" instead.

🤖 Analiza AI
Jak działa

Błąd znajduje się w funkcji IPV4OptValidateTimestamp w pliku decode-ipv4.c. Kod sprawdza, czy długość opcji (o->len) jest mniejsza niż 5 (2 bajty nagłówka + 3 bajty danych), jednak następnie próbuje odczytać flagę spod adresu o->data + 3, co wykracza poza dozwolony zakres 3 bajtów danych (indeksy 0–2). Prawidłowy indeks powinien wynosić 1, a nie 3. Wysłanie wielu pakietów IPv4 z nieprawidłowymi opcjami IPv4 pozwala wyzwolić ten błąd, skutkując dostępem do niezaalokowanego obszaru pamięci (CWE-125: out-of-bounds read).

Skutki

Atakujący może doprowadzić do odczytu danych spoza przydzielonego bufora, co może skutkować ujawnieniem zawartości pamięci procesu lub destabilizacją działania systemu IDS (crash). W skrajnych przypadkach podatność może umożliwić dalszą eksploatację w celu obejścia mechanizmów detekcji Suricata.

Mitygacja

Należy zaktualizować Suricata do wersji 4.1.5 lub nowszej, wydanej 24 września 2019 r., która zawiera poprawkę błędu w funkcji IPV4OptValidateTimestamp. Szczegóły dostępne pod adresem: https://suricata-ids.org/2019/09/24/suricata-4-1-5-released/

Kogo dotyczy

Suricata w wersji 4.1.4

Uwagi

Podatność została odkryta i zgłoszona przez badaczy z Code Intelligence (code-intelligence.com). Poprawka została opublikowana w dniu publikacji CVE (2019-09-24) wraz z wydaniem Suricata 4.1.5.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Suricata Ids Suricata

    APP
    Suricata-Ids
    4.1.4
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2019-16410CRITICAL9.1PL ✓ten sam produkt

Suricata: out-of-bounds read przy składaniu fragmentów IPv4 (defrag.c)

CVE-2019-15699CRITICAL9.1PL ✓ten sam produkt

Out-of-bounds read w parserze SSLv3/TLS 1.2 w Suricata 4.1.4

CVE-2019-10053CRITICAL9.8PL ✓ten sam produkt

Suricata: heap-based buffer over-read w parserze banerów SSH

CVE-2019-10054HIGH7.5ten sam produkt

An issue was discovered in Suricata 4.1.3. The function process_reply_record_v3 lacks a check for the length o...

CVE-2019-10051HIGH7.5ten sam produkt

An issue was discovered in Suricata 4.1.3. If the function filetracker_newchunk encounters an unsafe "Some(sfc...