Sårbarhet i Linux-kjernen tillater omgåelse av isolering i Chrome-sandkassen

Sikkerhetsforskere fra Google har identifisert en sårbarhet (CVE-2025-38236) i Linux-kjernen som tillater eskalering av rettigheter. Sårbarheten tillater blant annet å omgå sandkasse-isoleringsmekanismen som brukes i Google Chrome og oppnå kjøring av kode på kjernenivå når kode kjøres i konteksten av en isolert Chrome-gjengivelsesprosess (for eksempel når man utnytter en annen sårbarhet i Chrome). Problemet dukker opp fra og med Linux-kjernen 6.9 og ble løst i Linux-kjernenoppdateringene 6.1.143, 6.6.96, 6.12.36 og 6.15.5. En prototype av utnyttelsen er tilgjengelig for nedlasting.

Sårbarheten skyldes en implementeringsfeil i MSG_OOB-flagget, som kan settes for AF_UNIX-sockets. MSG_OOB-flagget ("out-of-band") tillater at en ekstra byte legges til dataene som sendes, som mottakeren kan lese før resten av dataene mottas. Dette flagget ble lagt til i Linux 5.15-kjernen på forespørsel fra Oracle og ble foreslått avviklet i fjor fordi det ikke var mye brukt.

Chromes sandkasseimplementering tillot UNIX-socketoperasjoner og send()/recv()-systemkall der MSG_OOB-flagget var tillatt sammen med andre alternativer og ikke ble filtrert separat. En feil i MSG_OOB-implementeringen tillot at en use-after-free-betingelse oppsto etter å ha utført en viss sekvens av systemkall: 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

Legg til en kommentar