Linux-kernesårbarhed tillader omgåelse af Chrome-sandkasseisolering

Sikkerhedsforskere fra Google har identificeret en sårbarhed (CVE-2025-38236) i Linux-kernen, der muliggør eskalering af rettigheder. Blandt andet muliggør sårbarheden omgåelse af sandkasse-isoleringsmekanismen, der bruges i Google Chrome, og opnåelse af kodeudførelse på kernelniveau, når kode udføres i forbindelse med en isoleret Chrome-renderingsproces (f.eks. når en anden sårbarhed i Chrome udnyttes). Problemet opstår startende med Linux-kernen 6.9 og blev rettet i Linux-kerneopdateringerne 6.1.143, 6.6.96, 6.12.36 og 6.15.5. En prototype af udnyttelsen er tilgængelig til download.

Sårbarheden skyldes en implementeringsfejl i MSG_OOB-flaget, som kan indstilles for AF_UNIX-sockets. MSG_OOB-flaget ("out-of-band") tillader, at en ekstra byte tilføjes til de data, der sendes, som modtageren kan læse, før resten af dataene modtages. Dette flag blev tilføjet i Linux 5.15-kernen på anmodning af Oracle og blev foreslået udfaset sidste år, fordi det ikke var bredt anvendt.

Chromes sandbox-implementering tillod UNIX socket-operationer og send()/recv() systemkald, hvor MSG_OOB-flaget var tilladt sammen med andre muligheder og ikke blev filtreret separat. En fejl i MSG_OOB-implementeringen tillod en use-after-free-betingelse efter udførelse af en bestemt sekvens af systemkald: 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); send(socks[0], "A", 0, MSG_OOB); recv(socks[1], &dummy, XNUMX, XNUMX); recv(sokker[XNUMX], &dummy, XNUMX, MSG_OOB);

Kilde: opennet.ru

Tilføj en kommentar