Sicherheitslücke im Linux-Kernel, die durch das Senden eines UDP-Pakets zu einem Absturz führen kann

Im Linux-Kernel identifiziert Verletzlichkeit (CVE-2019-11683), mit dem Sie aus der Ferne einen Denial-of-Service auslösen können, indem Sie speziell entwickelte UDP-Pakete (Packet-of-Death) senden. Das Problem wird durch einen Fehler im udp_gro_receive_segment-Handler (net/ipv4/udp_offload.c) bei der Implementierung der GRO-Technologie (Generic Receive Offload) verursacht und kann bei der Verarbeitung von UDP-Paketen ohne Auffüllung zu einer Beschädigung des Inhalts von Kernel-Speicherbereichen führen (leere Nutzlast).

Das Problem betrifft nur den Kernel 5.0da GRO Unterstützung für UDP-Sockets war umgesetzt im November letzten Jahres und schaffte es nur, in die neueste stabile Kernel-Version zu gelangen. Mit der GRO-Technologie können Sie die Verarbeitung einer großen Anzahl eingehender Pakete beschleunigen, indem Sie mehrere Pakete in größeren Blöcken zusammenfassen, die nicht eine separate Verarbeitung jedes Pakets erfordern.
Bei TCP tritt das Problem nicht auf, da dieses Protokoll keine Paketaggregation ohne Nutzlast unterstützt.

Die Schwachstelle wurde bisher nur im Formular behoben Patch, das korrigierende Update wurde noch nicht veröffentlicht (gestriger Update 5.0.11-Fix). nicht enthalten). Aus den Distributionskits konnte Kernel 5.0 aufgenommen werden Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo und andere ständig aktualisierte Distributionen. Debian, Ubuntu 18.10 und früher, RHEL / CentOS и SUSE/openSUSE das Problem betrifft nicht.

Dadurch wurde das Problem gefunden verwenden Von Google entwickeltes automatisiertes Fuzzing-Testsystem Syzbot und Analysator KASAN (KernelAddressSanitizer) zielt darauf ab, Fehler bei der Arbeit mit dem Speicher und Fakten über fehlerhaften Speicherzugriff zu identifizieren, wie z. B. den Zugriff auf freigegebene Speicherbereiche und das Platzieren von Code in Speicherbereichen, die nicht für solche Manipulationen vorgesehen sind.

Source: opennet.ru

Kommentar hinzufügen