SACK panic (CVE-2019-11478) – czyli jak zdalnie zastopować każdego Linuksa z jądrem >= 2.6.29

19 czerwca 2019, 11:32 | W biegu | komentarze 4
Tagi: , ,
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

SACK to w dość standardowa i popularna funkcja obsługiwana w protokole TCP. Niedawno ekipa Netfliksa znalazła błąd w jej implementacji (jądro Linux) – można odpowiednimi pakietami TCP doprowadzić do kernel panic – czyli zdalnie wyłączyć maszynę w którą celujemy:

CVE-2019-11478: SACK Panic (Linux >= 2.6.29)

Description: A sequence of SACKs may be crafted such that one can trigger an integer overflow, leading to a kernel panic.

Jako workaround zaleca się wyłączenie obsługi SACK: (echo 0 >/proc/sys/net/ipv4/tcp_sack)

Podatność określana jest przez Netfliksa jako krytyczna, inni określają ją jako ‚istotną’ – w końcu ma ona wpływ ‚tylko’ na dostępność.

Dostępne też są łaty: AWS, RedHat, Debian i inni.

–ms

 

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. ruff
    Odpowiedz
    • tak, choć jedna podatność to „real” DoS, pozostałe (też ciekawe rzeczy) to kategoria slowness

      Odpowiedz
      • adrb

        Jeżeli chodzi o „Sack Panic”, to po bliższym przyjrzeniu się, wykorzystanie tej podatności w warunkach polowych jest mało realne. Bardzo ciężko jest zmusić jądro do utrzymania połączenia z odpowiednio niskim MSS, przez odpowiednio długi czas by zapełnić cały bufor sk_buff. Chociaż możliwe, że ktoś kto bardzo dobrze rozumie mechanizmy w jądrze Linuks byłby w stanie napisać PoC, który zadziała w laboratorium.

        Trochę szersze omówienie tematu:

        https://adrb-it.blogspot.com/2019/07/bez-paniki-o-sack-panic-analiza-cve.html

        Odpowiedz

Odpowiedz