Badacze ds. bezpieczeństwa z Google odkryli lukę w zabezpieczeniach jądra Linux Istnieje luka w zabezpieczeniach umożliwiająca eskalację uprawnień (CVE-2025-38236). Luka ta umożliwia między innymi ominięcie mechanizmu izolacji piaskownicy używanego w przeglądarce Google Chrome i uzyskanie wykonania kodu na poziomie jądra podczas wykonywania kodu w kontekście procesu renderowania piaskownicy przeglądarki Chrome (na przykład poprzez wykorzystanie innej luki w zabezpieczeniach przeglądarki). Problem zaczyna się w jądrze. Linux 6.9 i naprawiono w aktualizacjach jądra Linux 6.1.143, 6.6.96, 6.12.36 i 6.15.5. Prototyp exploita jest dostępny do pobrania.
Luka wynika z błędu implementacji flagi MSG_OOB, którą można ustawić dla gniazd AF_UNIX. Flaga MSG_OOB („out-of-band”) umożliwia dołączenie do wysyłanych danych dodatkowego bajtu, który odbiorca może odczytać przed odebraniem pozostałych danych. Flaga ta została dodana do jądra. Linux Wersja 5.15 została zamówiona przez Oracle i zaproponowano jej wycofanie w zeszłym roku, ponieważ nie spotkała się z szerokim przyjęciem.
Implementacja sandbox przeglądarki Chrome zezwalała na operacje na gniazdach UNIX oraz wywołania systemowe send()/recv(), gdzie flaga MSG_OOB była dozwolona wraz z innymi opcjami i nie była oddzielnie filtrowana. Błąd w implementacji MSG_OOB powodował wystąpienie warunku użycia po zwolnieniu po wykonaniu określonej sekwencji wywołań systemowych: 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(socks[0], &dummy, 0, MSG_OOB);
Źródło: opennet.ru
