In der Implementierung der Schnittstelle für asynchrone Eingabe/Ausgabe io_uring, die seit Version 5.1 Teil des Linux-Kernels ist, wurde eine Schwachstelle (CVE-2022-29582) entdeckt. Diese erlaubt es einem nicht privilegierten Benutzer, Root-Rechte im System zu erlangen, auch wenn der Exploit aus einem Container gestartet wird. Die Schwachstelle resultiert aus dem Zugriff auf einen bereits freigegebenen Speicherblock und tritt in Linux-Kernen 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 den freigegebenen Speicher erfolgt aufgrund eines Race Conditions bei der Bearbeitung von Timouts in der Funktion io_flush_timeouts(), die den Timeout-Eintrag aus der Liste entfernt und ihn ohne Überprüfung der Erstellung und Löschung des Timeouts zu diesem Zeitpunkt abbricht.
Forscher haben einen funktionierenden Exploit entwickelt, der keine Aktivierung von Benutzernamensräumen (user namespaces) benötigt und root-Zugriff auf das Hauptsystem gewährt, wenn er von einem nicht privilegierten Benutzer in einem isolierten Container ausgeführt wird. Der Exploit funktioniert auch in der isolierten Umgebung nsjail auf der Google COS (Container Optimized OS), die auf Chromium OS basiert und in der Google Cloud Platform verwendet wird. virtuellen Maschinen wurde vereinfacht. Compute Engine. Der Exploit ist für Kernzweige von 5.10 bis 5.12 ausgelegt.
Quelle: opennet.ru
