Remote-Denial-of-Service-Schwachstellen in Linux- und FreeBSD-TCP-Stacks

Netflix-Unternehmen enthüllt mehrere kritisch Schwachstellen in Linux- und FreeBSD-TCP-Stacks, mit denen Sie aus der Ferne einen Kernel-Absturz auslösen oder bei der Verarbeitung speziell entwickelter TCP-Pakete (Packet-of-Death) einen übermäßigen Ressourcenverbrauch verursachen können. Probleme verursacht durch Fehler in den Handlern für die maximale Datenblockgröße in einem TCP-Paket (MSS, Maximum segment size) und dem Mechanismus zur selektiven Bestätigung von Verbindungen (SACK, TCP Selective Acknowledgement).

  • CVE-2019-11477 (SACK-Panik) – ein Problem, das in Linux-Kerneln ab 2.6.29 auftritt und es Ihnen ermöglicht, eine Kernel-Panik auszulösen, indem Sie aufgrund eines Ganzzahlüberlaufs im Handler eine Reihe von SACK-Paketen senden. Für einen Angriff reicht es aus, den MSS-Wert für eine TCP-Verbindung auf 48 Byte zu setzen (die untere Grenze legt die Segmentgröße auf 8 Byte fest) und eine Folge von SACK-Paketen zu senden, die in einer bestimmten Reihenfolge angeordnet sind.

    Um die Sicherheit zu umgehen, können Sie die SACK-Verarbeitung deaktivieren (0 in /proc/sys/net/ipv4/tcp_sack schreiben) oder zu blockieren Verbindungen mit niedrigem MSS-Wert (funktioniert nur, wenn sysctl net.ipv4.tcp_mtu_probing auf 0 gesetzt ist und einige normale Verbindungen mit niedrigem MSS-Wert unterbrechen kann);

  • CVE-2019-11478 (SACK-Langsamkeit) – führt zu einer Störung des SACK-Mechanismus (bei Verwendung eines Linux-Kernels unter 4.15) oder zu einem übermäßigen Ressourcenverbrauch. Das Problem tritt bei der Verarbeitung speziell gestalteter SACK-Pakete auf, die zur Fragmentierung einer Neuübertragungswarteschlange (TCP-Neuübertragung) verwendet werden können. Die Sicherheitsumgehungen ähneln denen der vorherigen Sicherheitslücke.
  • CVE-2019-5599 (SACK-Langsamkeit) – ermöglicht es Ihnen, bei der Verarbeitung einer speziellen SACK-Sequenz innerhalb einer einzelnen TCP-Verbindung eine Fragmentierung der Karte gesendeter Pakete zu verursachen und die Durchführung eines ressourcenintensiven Listenaufzählungsvorgangs zu veranlassen. Das Problem tritt in FreeBSD 12 mit dem RACK-Paketverlusterkennungsmechanismus auf. Um dieses Problem zu umgehen, können Sie das RACK-Modul deaktivieren.
  • CVE-2019-11479 - Ein Angreifer kann dazu führen, dass der Linux-Kernel Antworten in mehrere TCP-Segmente aufteilt, von denen jedes nur 8 Byte Daten enthält, was zu einem erheblichen Anstieg des Datenverkehrs, einer erhöhten CPU-Auslastung und einer Verstopfung des Kommunikationskanals führen kann. Es wird als Workaround zum Schutz empfohlen. zu blockieren Verbindungen mit niedrigem MSS.

    Im Linux-Kernel wurden die Probleme in den Versionen 4.4.182, 4.9.182, 4.14.127, 4.19.52 und 5.1.11 behoben. Ein Fix für FreeBSD ist verfügbar als Patch. In Distributionen wurden bereits Updates für Kernel-Pakete veröffentlicht Debian, RHEL, SUSE/openSUSE. Korrektur während der Vorbereitung Ubuntu, Fedora и Arch Linux.

    Source: opennet.ru

  • Kommentar hinzufügen