Poważna luka w jądrze Linuksa

Strona głównaPoważna luka w jądrze Linuksa
14.08.2009 18:59
Adam Wróblewski
Adam Wróblewski

W jądrach wydanych na przestrzeni ostatnich kilku lat wykryto dziurę umożliwiającą zwykłemu użytkownikowi uzyskaćprawa roota. Błąd jest poważny i związany jest z obsługą tak zwanych pustychwskaźników danych z inicjacją gniazd pewych protokołów. Standardowostruktura każdego wskaźnika określa, jakie operacje są wykonywaneprzez gniazdo. Jeśli na gnieździe, operacja nie zostaniezaimplementowana, powinna wskazywać na wcześniej zdefiniowaneproducedury, jak sock_no_accept(). Mimo tego niektóre wskaźnikipozostają niezainicjowane. To z kolei w połączeniu z funkcjąsock_sendpage() może zostać wykorzystane do podniesieniauprawnień. Luka dotyczy między innymi protokołów PF_BLUETOOTH, PF_IUCV,PF_INET6 (z IPPROTO_SCTP), PF_PPPOX i PF_ISDN we wszystkichwersjach jądra poniżej 2.6.30.2. Oficjalna poprawka nie jestjeszcze dostępna, poza wstępną wersją w repozytorium jądra. W nowszych wersjachjądrach eksploatacji luki można jednak zapobiec dzięki funkcjimmap_min_addr. W tym celu należy zmienić wartość vm.mmap_min_addrna większą od zera, na przykład edytując plik /etc/sysctl.conf.

Udostępnij:
Wybrane dla Ciebie
Komentarze (201)