Die Sicherheitsexperten von Google haben eine Schwachstelle im Linux-Kernel (CVE-2025-38236) entdeckt, die es ermöglicht, die eigenen Privilegien im System zu erhöhen. Unter anderem erlaubt die Schwachstelle, den Sandbox-Isolationsmechanismus zu umgehen, der in Google Chrome verwendet wird, und die Ausführung von Code auf Kernel-Ebene zu erreichen, während Code im Kontext eines isolierten Render-Prozesses von Chrome ausgeführt wird (zum Beispiel beim Ausnutzen einer anderen Schwachstelle in Chrome). Das Problem tritt ab Kernel-Version 6.9 auf und wurde in den Kernel-Updates 6.1.143, 6.6.96, 6.12.36 und 6.15.5 behoben. Ein Prototyp eines Exploits steht zum Download zur Verfügung.
Die Schwachstelle wird durch einen Fehler in der Implementierung des Flags MSG_OOB verursacht, das für AF_UNIX-Sockets gesetzt werden kann. Das Flag MSG_OOB („out-of-band“) ermöglicht es, ein zusätzliches Byte an die gesendeten Daten anzuhängen, das der Empfänger lesen kann, bevor die übrigen Daten empfangen werden. Dieses Flag wurde im Linux-Kernel 5.15 auf Anfrage von Oracle eingeführt und wurde im vergangenen Jahr als obsolet eingestuft, da es nicht weit verbreitet war.
Im Sandbox-Umfeld von Chrome sind Operationen mit UNIX-Sockets und die Systemaufrufe send()/recv() erlaubt, wobei das Flag MSG_OOB zusammen mit anderen Optionen zugelassen und nicht separat herausgefiltert wurde. Der Fehler in der Implementierung von MSG_OOB ermöglichte einen Zugriff auf den Speicher nach dessen Freigabe (use-after-free) nach der Ausführung einer bestimmten Abfolge von Systemaufrufen: char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], „A“, 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], „A“, 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], „A“, 1, MSG_OOB); recv(socks[0], &dummy, 1, 0); recv(socks[0], &dummy, 1, MSG_OOB);
Quelle: opennet.ru
