I ricercatori di sicurezza di Google hanno identificato una vulnerabilità (CVE-2025-38236) nel kernel Linux che consente l'escalation dei privilegi. Tra le altre cose, la vulnerabilità consente di aggirare il meccanismo di isolamento sandbox utilizzato in Google Chrome e di ottenere l'esecuzione di codice a livello di kernel quando si esegue codice nel contesto di un processo di rendering isolato di Chrome (ad esempio, quando si sfrutta un'altra vulnerabilità in Chrome). Il problema si verifica a partire dal kernel Linux 6.9 ed è stato risolto negli aggiornamenti del kernel Linux 6.1.143, 6.6.96, 6.12.36 e 6.15.5. Un prototipo dell'exploit è disponibile per il download.
La vulnerabilità è causata da un errore di implementazione nel flag MSG_OOB, che può essere impostato per i socket AF_UNIX. Il flag MSG_OOB ("out-of-band") consente di aggiungere un byte aggiuntivo ai dati inviati, che il destinatario può leggere prima che vengano ricevuti i dati rimanenti. Questo flag è stato aggiunto nel kernel Linux 5.15 su richiesta di Oracle ed è stato proposto per la deprecazione lo scorso anno perché non ampiamente utilizzato.
L'implementazione sandbox di Chrome consentiva operazioni socket UNIX e chiamate di sistema send()/recv() in cui il flag MSG_OOB era consentito insieme ad altre opzioni e non veniva filtrato separatamente. Un bug nell'implementazione di MSG_OOB consentiva il verificarsi di una condizione di utilizzo dopo la liberazione dopo l'esecuzione di una determinata sequenza di chiamate di sistema: 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);
Fonte: opennet.ru
