Vulnerabilitatea kernelului Linux permite ocolirea izolării sandbox-ului Chrome

Cercetătorii în securitate de la Google au identificat o vulnerabilitate (CVE-2025-38236) în kernelul Linux care permite escaladarea privilegiilor. Printre altele, vulnerabilitatea permite ocolirea mecanismului de izolare sandbox utilizat în Google Chrome și realizarea execuției de cod la nivel de kernel atunci când se execută cod în contextul unui proces izolat de randare Chrome (de exemplu, atunci când se exploatează o altă vulnerabilitate în Chrome). Problema apare începând cu kernelul Linux 6.9 și a fost remediată în actualizările kernelului Linux 6.1.143, 6.6.96, 6.12.36 și 6.15.5. Un prototip al exploit-ului este disponibil pentru descărcare.

Vulnerabilitatea este cauzată de o eroare de implementare în indicatorul MSG_OOB, care poate fi setat pentru socket-urile AF_UNIX. Indicatorul MSG_OOB („out-of-band”) permite atașarea unui octet suplimentar la datele trimise, pe care receptorul îl poate citi înainte de a primi restul datelor. Acest indicator a fost adăugat în kernelul Linux 5.15 la cererea Oracle și a fost propus pentru depreciere anul trecut, deoarece nu era utilizat pe scară largă.

Implementarea sandbox a Chrome permitea operațiuni cu socket-uri UNIX și apeluri de sistem send()/recv() unde indicatorul MSG_OOB era permis împreună cu alte opțiuni și nu era filtrat separat. O eroare în implementarea MSG_OOB permitea apariția unei condiții use-after-free după executarea unei anumite secvențe de apeluri de sistem: 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, MSG_OOB); recv(șosete[0], &manechin, 0, MSG_OOB);

Sursa: opennet.ru

Adauga un comentariu