Im Linux-Kernel Schwachstelle (), die es ermöglicht, einen Denial-of-Service aus der Ferne durch das Senden speziell gestalteter UDP-Pakete (packet-of-death) auszulösen. Das Problem wird durch einen Fehler im Handler udp_gro_receive_segment (net/ipv4/udp_offload.c) in der Implementierung der Technologie GRO (Generic Receive Offload) verursacht und kann zu einer Beschädigung des Inhalts von Kernel-Speicherbereichen beim Umgang mit UDP-Paketen mit null-Füllung (leerer Payload) führen.
Das Problem betrifft nur den Kernel , da die Unterstützung von GRO für UDP-Sockets im November letzten Jahres eingeführt wurde und nur in das letzte stabile Release des Kernels aufgenommen wurde. Die Technologie GRO ermöglicht eine schnellere Verarbeitung einer großen Anzahl von eingehenden Paketen, indem mehrere Pakete in größere Blöcke aggregiert werden, die keine separate Verarbeitung jedes Pakets erfordern.
Für TCP tritt das Problem nicht auf, da für dieses Protokoll keine Paketaggregation ohne Payload unterstützt wird.
Die Schwachstelle wurde bisher nur in Form von , einem fixierenden Update, veröffentlicht (in das gestrige Update 5.0.11 wurde der Fix ). Im Distributionen ist der Kernel 5.0 Teil von , , , und anderen kontinuierlich aktualisierten Distributionen. , , und sind nicht betroffen.
Das Problem wurde durch des automatisierten Fuzzing-Testsystems der Firma Google und des Analysewerkzeugs (KernelAddressSanitizer), das darauf abzielt, Fehler im Umgang mit Speicher und fehlerhafte Speicherzugriffe zu identifizieren, wie z.B. Zugriffe auf freigegebene Speicherbereiche und das Platzieren von Code in Speicherbereichen, die nicht für solche Manipulationen vorgesehen sind.
Quelle: opennet.ru
