Krytyczna luka w jądrze Linuksa załatana

Krytyczna luka w jądrze Linuksa załatana

Grzegorz Niemirowski
19.08.2010 18:03, aktualizacja: 20.08.2010 12:40

W jądrze Linuksa załatano groźną lukę, która pozwalała każdej aplikacji działającej w trybie graficznym uzyskać uprawnienia roota.

W celu przeprowadzenia ataku wystarczyło mieć możliwość uruchomienia dowolnego klienta "iksów". Na dziurę natknął się Rafał Wojtczuk z firmy Invisible Things Lab podczas pracy nad systemem operacyjnym Qubes OS. 17 czerwca poinformował o swoim odkryciu grupę odpowiedzialną za bezpieczeństwo X.org, trzy dni później grupa ta zdecydowała, że konieczne będzie załatanie jądra. Poprawka pojawiła się jednak dopiero po 2 miesiącach, 13 sierpnia, a dodatkowe patche zostały jeszcze wydane w kolejnych dniach. Załatane wersje jądra to: 2.6.27.52, 2.6.32.19, 2.6.34.4 i 2.6.35.2. Okazało się przy okazji, że dziura istniała od początków jądra 2.6, czyli od 2003 roku. O możliwości istnienia dziury wspominał już w 2005 roku Gaël Delalleau podczas konferencji CanSecWest.

Błąd nie leżał w X.org ale w jądrze Linuksa. Ponieważ Linux nie rozdziela stron pamięci zawierających stos i stertę, możliwe jest powiększenie stosu na obszar sterty. Przykładowo odpowiednio głęboki stos, np. uzyskany przez rekurencyjne wywoływanie funkcji, może objąć przylegający obszar sterty. Wówczas aplikacja mogąca zapisywać ten obszar stery (np. klient X) może nadpisać adres powrotu z funkcji podając adres w pamięci z dowolnym kodem. W ten sposób można zmusić serwer X do wykonania swojego kodu. Ponieważ serwer "iksów" działa z prawami roota, z takimi właśnie prawami zostanie wykonany podstawiony kod. Jest to więc dosyć prosty sposób aby aplikacja mogła podnieść swoje uprawnienia obchodząc zabezpieczenia systemu.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (185)