In der Implementierung der asynchronen Eingabe/Ausgabe-Schnittstelle io_uring, die seit der Version 5.1 Teil des Linux-Kernels ist, wurde eine Sicherheitsanfälligkeit (CVE-2022-29582) entdeckt, die es unprivilegierten Benutzern erlaubt, Root-Rechte im System zu erlangen, einschließlich der Ausführung eines Exploits aus einem Container. Die Sicherheitsanfälligkeit entsteht durch den Zugriff auf einen bereits freigegebenen Speicherblock und tritt in Linux-Kernels ab Version 5.10 auf; sie wurde im April in den Updates 5.10.111, 5.15.34 und 5.17.3 behoben.
Der Zugriff auf freigegebenen Speicher erfolgt als Ergebnis eines Rennzustands bei der Verarbeitung von Zeitüberschreitungen in der Funktion io_flush_timeouts(), die den Eintrag über die Zeitüberschreitung aus der Liste entfernt und annulliert, ohne zu überprüfen, ob die Zeitüberschreitung zu diesem Zeitpunkt erstellt oder gelöscht wurde.
Forscher haben einen funktionierenden Exploit entwickelt, der keine Aktivierung von Benutzer-Namensräumen (user namespaces) für seine Ausführung benötigt und Root-Zugriff im Hauptsystem bieten kann, wenn der Exploit von einem unprivilegierten Benutzer in einem isolierten Container ausgeführt wird. Der Exploit funktioniert unter anderem in der isolierten Umgebung nsjail in der Google COS (Container Optimized OS), die auf Chromium OS basiert und auf der Google Cloud Platform in Compute Engine verwendet wird. Der Exploit ist für den Einsatz mit Kernels der Versionen 5.10 bis 5.12 ausgelegt. virtuellen Maschinen Die Veröffentlichung von NetBSD 9.3.
Quelle: opennet.ru
