Sicherheitslücke in der AF_PACKET-Socket-Implementierung des Linux-Kernels

Drei Jahre nach der Welle der Schwachstellen (1, 2, 3, 4, 5) im AF_PACKET-Subsystem des Linux-Kernels identifiziert noch ein Problem (CVE-2020-14386), sodass ein lokaler, nicht privilegierter Benutzer Code als Root ausführen oder isolierte Container verlassen kann, wenn er über Root-Zugriff verfügt.

Für das Erstellen eines AF_PACKET-Sockets und das Ausnutzen der Sicherheitslücke sind CAP_NET_RAW-Berechtigungen erforderlich. Die angegebene Berechtigung kann jedoch von einem nicht privilegierten Benutzer in Containern erhalten werden, die auf Systemen mit aktivierter Unterstützung für Benutzernamensräume erstellt wurden. Beispielsweise sind Benutzernamensräume unter Ubuntu und Fedora standardmäßig aktiviert, unter Debian und RHEL jedoch nicht. Unter Android hat der Mediaserver-Prozess das Recht, AF_PACKET-Sockets zu erstellen, über die die Schwachstelle ausgenutzt werden kann.

Die Sicherheitslücke liegt in der Funktion tpacket_rcv vor und wird durch einen Fehler bei der Berechnung der Netoff-Variablen verursacht. Ein Angreifer kann Bedingungen schaffen, in denen die Netoff-Variable auf einen Wert geschrieben wird, der kleiner als der Maclen-Variable ist, was bei der Berechnung von „macoff = netoff – maclen“ zu einem Überlauf und anschließendem falschen Setzen des Zeigers auf den Puffer für eingehende Daten führt. Dadurch kann ein Angreifer das Schreiben von 1 bis 10 Bytes in einen Bereich außerhalb der Grenze des zugewiesenen Puffers veranlassen. Es wird darauf hingewiesen, dass sich ein Exploit in der Entwicklung befindet, der es Ihnen ermöglicht, Root-Rechte im System zu erlangen.

Das Problem besteht seit Juli 2008 im Kernel, d.h. manifestiert sich in allen tatsächlichen Kernen. Der Fix ist derzeit verfügbar als Patch. Sie können die Verfügbarkeit von Paketaktualisierungen in Distributionen auf den folgenden Seiten verfolgen: Ubuntu, Fedora, SUSE, Debian, RHEL, Bogen.

Source: opennet.ru

Kommentar hinzufügen