A Google biztonsági kutatói felfedezték a Linux kernelében a (CVE-2025-38236) sebezhetőséget, amely lehetővé teszi a felhasználói jogosultságok felemelését a rendszerben. A sebezhetőség többek között lehetővé teszi a Google Chrome-ban használt sandbox szigetelési mechanizmus megkerülését, és a kód kernel szintű végrehajtását a Chrome izolált renderelési folyamatában futtatott kód során (például egy másik Chrome sebezhetőség kihasználása esetén). A probléma a Linux 6.9 verziótól kezdődik, és a Linux kernel 6.1.143, 6.6.96, 6.12.36 és 6.15.5 frissítéseiben lett javítva. A kihasználás prototípusa letölthető.
A sebezhetőséget egy hiba okozza az MSG_OOB jelző megvalósításában, amelyet az AF_UNIX socketekhez lehet beállítani. Az MSG_OOB („out-of-band”) jelző lehetővé teszi, hogy egy további bájtot csatoljunk a küldött adatokhoz, amelyet a fogadó a többi adat előtt olvashat el. Ezt a jelzőt a Linux 5.15 kernelében vezették be az Oracle kérésére, és tavaly javasolták, hogy a régi, elavult kategóriába sorolják, mivel nem vált széles körben elterjedtté.
A Chrome sandbox környezetében engedélyezettek az UNIX socketekkel és a send()/recv() rendszerhívásokkal kapcsolatos műveletek, ahol az MSG_OOB jelzőt más opciókkal együtt engedélyezték, és nem szűrték külön. Az MSG_OOB megvalósításában lévő hiba lehetővé tette a memóriához való hozzáférést a felszabadítás után (use-after-free) egy adott rendszerhívás-sorozat végrehajtása utá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);
Forrás: opennet.ru
