Vulnerabilità negli stack TCP di Linux e FreeBSD che portano alla negazione del servizio remota

Società Netflix rivelato diverse critiche vulnerabilità negli stack TCP di Linux e FreeBSD, che consentono di avviare in remoto un crash del kernel o causare un consumo eccessivo di risorse durante l'elaborazione di pacchetti TCP appositamente progettati (packet-of-death). I problemi causato da errori nei gestori per la dimensione massima del blocco dati in un pacchetto TCP (MSS, Maximum segment size) e il meccanismo per il riconoscimento selettivo delle connessioni (SACK, TCP Selective Acknowledgment).

  • CVE-2019-11477 (SACK Panic) - un problema che compare nei kernel Linux a partire dalla versione 2.6.29 e che consente di provocare un panico nel kernel inviando una serie di pacchetti SACK a causa di un overflow di numeri interi nell'handler. Per attaccare è sufficiente impostare il valore MSS di una connessione TCP a 48 byte (il limite inferiore fissa la dimensione del segmento a 8 byte) e inviare una sequenza di pacchetti SACK disposti in un certo modo.

    Come soluzione alternativa alla sicurezza, puoi disabilitare l'elaborazione SACK (scrivere 0 su /proc/sys/net/ipv4/tcp_sack) o per bloccare connessioni con MSS basso (funziona solo quando sysctl net.ipv4.tcp_mtu_probing è impostato su 0 e potrebbe interrompere alcune normali connessioni con MSS basso);

  • CVE-2019-11478 (SACK Slowness) - porta all'interruzione del meccanismo SACK (quando si utilizza un kernel Linux inferiore a 4.15) o al consumo eccessivo di risorse. Il problema si verifica durante l'elaborazione di pacchetti SACK appositamente predisposti, che possono essere utilizzati per frammentare una coda di ritrasmissione (ritrasmissione TCP). Le soluzioni alternative alla sicurezza sono simili alla vulnerabilità precedente;
  • CVE-2019-5599 (SACK Slowness) - consente di provocare la frammentazione della mappa dei pacchetti inviati durante l'elaborazione di una sequenza SACK speciale all'interno di una singola connessione TCP e di causare l'esecuzione di un'operazione di enumerazione dell'elenco ad alta intensità di risorse. Il problema appare in FreeBSD 12 con il meccanismo di rilevamento della perdita di pacchetti RACK. Per ovviare al problema, è possibile disabilitare il modulo RACK;
  • CVE-2019-11479 - un utente malintenzionato può far sì che il kernel Linux divida le risposte in diversi segmenti TCP, ciascuno dei quali contiene solo 8 byte di dati, il che può portare ad un aumento significativo del traffico, ad un aumento del carico della CPU e all'ostruzione del canale di comunicazione. È consigliato come soluzione alternativa per la protezione. per bloccare connessioni con MSS basso.

    Nel kernel Linux, i problemi sono stati risolti nelle versioni 4.4.182, 4.9.182, 4.14.127, 4.19.52 e 5.1.11. Una correzione per FreeBSD è disponibile come toppa. Nelle distribuzioni sono già stati rilasciati aggiornamenti ai pacchetti del kernel Debian, RHEL, SUSE / openSUSE. Correzione durante la preparazione Ubuntu, Fedora и Arch Linux.

    Fonte: opennet.ru

  • Aggiungi un commento