Ein Exploit fĂŒr die siebte Verwundbarkeit (1, 2-3, 4, 5, 6) im Linux-Kernel ist öffentlich zugĂ€nglich, die es einem unprivilegierten lokalen Benutzer ermöglicht, Root-Rechte zu erhalten, indem er Daten im Seiten-Cache ĂŒberschreibt. Die CVE-ID wurde noch nicht zugewiesen, auĂer dem Exploit-Code gibt es keine weiteren Informationen ĂŒber das Problem. Ein Fix ist nur als Patch verfĂŒgbar, der am 20. Mai veröffentlicht wurde und am 21. Mai in den Hauptzweig des Linux-Kernels aufgenommen wurde (Korrekturausgaben des Kernels sind noch nicht verfĂŒgbar).
Die Verwundbarkeit ist in der Implementierung der Technologie GRO (Generic Receive Offload) vorhanden, die verwendet wird, um die Verarbeitung segmentierter Pakete zu beschleunigen. Die Verwundbarkeit wird durch einen Fehler in der Implementierung des Zerocopy-Mechanismus in der Funktion skb_gro_receive() verursacht, die eine direkte Ănderung der Daten im Seiten-Cache vornimmt, um ĂŒberflĂŒssige Puffern zu vermeiden. Wenn das Flag SKBFL_MANAGED_FRAG_REFS gesetzt ist, wird das Speichern des Verweises auf die freigegebenen Speicherseiten im Feld shinfo->frags ĂŒbersprungen, wonach dieses Feld ohne Ănderung des ReferenzzĂ€hlers an ein anderes skb angehĂ€ngt wird, was zu einem Zugriff auf den Speicher nach dessen Freigabe (use-after-free) fĂŒhrt. Die Problematik konnte ausgenutzt werden, um Daten im Seiten-Cache zu ĂŒberschreiben, indem der Zeiger auf den io_uring-Puffer manipuliert wurde.
Ein Angriff ist auf Systemen mit aktivierter io_uring-Subsystem (io_uring_disabled=0) möglich. Um den Exploit auszufĂŒhren, muss in dem System eine lesbare ausfĂŒhrbare Datei mit dem SUID-Root-Flag verfĂŒgbar sein. Der Exploit-Mechanismus besteht darin, dass der Angreifer erreicht, dass die Benutzerbasis im Seiten-Cache verbleibt, danach das zusĂ€tzliche Eintrag âhax::0:0::/root:/bin/shâ in den Cache einspeist. Danach wird der Befehl âsu haxâ ausgefĂŒhrt, der nicht die originale Benutzerbasis von dem Speichermedium erhĂ€lt, sondern eine verĂ€nderte Kopie mit dem fiktiven Login âhaxâ, dem Root-Rechte und ein leeres Passwort zugeteilt wurden. Der Betrieb des Exploits wurde in Ubuntu 24.04 getestet.
Quelle: opennet.ru
