Information zur Schwachstelle () im Linux-Kernel, die beim Wettbewerb während der Demonstration eines Hacks auf Ubuntu ausgenutzt wurde. Die Schwachstelle ermöglichte es einem nicht privilegierten Benutzer, Root-Rechte zu erlangen. Ein funktionierender Exploit existiert, wurde aber noch nicht veröffentlicht. Die Schwachstelle ist im eBPF-Subsystem vorhanden, das es ermöglicht, Handler für Tracing, Analyse von Subsystemen und Verkehrsmanagement innerhalb des Kernels in einer speziellen virtuellen Maschine mit JIT auszuführen.
Das Problem wird durch einen Fehler in der Funktion __reg_bound_offset32() verursacht, die zur Überprüfung 32-Bit-Operationen im BPF-Bytecode verwendet wird. Aufgrund einer fehlerhaften Berechnung der Registergrenzen traten beim Verarbeiten speziell gestalteter BPF-Anwendungen Bedingungen auf, die das Schreiben und Lesen von Daten außerhalb des zugewiesenen Puffers im Speicher des Kernels ermöglichten. Das Problem trat im Kernel 5.5 auf und wurde später bei der Rückportierung von Korrekturen in den Kernel 5.4 sowie in , das in Ubuntu Linux angeboten wird.
Um die Schwachstelle zu beheben, wird empfohlen, Ein problematischer Patch oder das Verhindern der Ausführung von BPF-Anwendungen durch nicht privilegierte Benutzer kann durch Setzen von sysctl kernel.unprivileged_bpf_disabled auf 1 erfolgen. Status der Reparatur in den Distributionen: , , , und (in den Kernen problematische Änderungen wurden nicht übertragen).
Quelle: opennet.ru
