Bezpečnostní výzkumníci z Google zjistili v jádře Linux zranitelnost (CVE-2025-38236), která umožňuje zvýšit privilegium v systému. Mezi jiným zranitelnost umožňuje obejít mechanismus sandboxové izolace používaný v Google Chrome a dosáhnout spuštění kódu na úrovni jádra při provádění kódu v kontextu izolovaného procesu renderování Chrome (například při zneužití jiné zranitelnosti v Chrome). Problém se projevuje od jádra Linux 6.9 a byl odstraněn v aktualizacích jádra Linux 6.1.143, 6.6.96, 6.12.36 a 6.15.5. K dispozici je prototyp exploitu k stažení.
Zranitelnost je způsobena chybou v implementaci příznaku MSG_OOB, který lze nastavit pro sokety AF_UNIX. Příznak MSG_OOB („out-of-band“) umožňuje připojit dodatečný byte k odesílaným datům, které příjemce může přečíst dříve, než obdrží ostatní data. Tento příznak byl přidán do jádra Linux 5.15 na žádost Oracle a minulý rok byl navržen k převedení do kategorie zastaralých, jako rozšířeně nepoužívaný.
V implementaci sandboxového prostředí Chrome jsou povoleny operace se sokety UNIX a systémové volání send()/recv(), ve kterých byl příznak MSG_OOB povolen spolu s dalšími možnostmi a nebyl samostatně filtrován. Chyba v implementaci MSG_OOB umožnila přístup k paměti po jejím uvolnění (use-after-free) po provedení určité posloupnosti systémových volání: 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);
Zdroj: opennet.ru
