Luka w kernelu Linux pozwala na uzyskanie uprawnień administratora

Luka w kernelu Linux pozwala na uzyskanie uprawnień administratora

Luka w kernelu Linux pozwala na uzyskanie uprawnień administratora
Źródło zdjęć: © linux.org
17.09.2010 14:45, aktualizacja: 17.09.2010 16:23

Luka w 32-bitowym trybie zgodności najnowszej wersji kernela Linux (i wcześniejszych wersji) dla systemów 64-bitowych może być wykorzystana do uzyskania wyższych uprawnień w systemie.

Problem

Według doniesień przyczyną problemu jest brak kontroli warstwy emulującej 32-bitowe wywołania funkcji systemowych pod kątem tego, czy żądane wywołanie rzeczywiście znajduje się w tablicy rozdzielczej kernela grupującej wywołania. Według informacji Bena Hawkesa, odkrywcy usterki, taki błąd można wykorzystać do wykonywania własnego kodu z uprawnieniami systemowymi. W Sieci krąży już exploit, który w krótkim teście redakcji heise Security na 64-bitowym systemie Ubuntu 10.0. otworzył powłokę działającą z uprawnieniami użytkownika root.

Zagrożenie

Napastnicy mogą wykorzystać usterkę, aby np. po włamaniu do serwera WWW uzyskać pełną kontrolę nad systemem na prawach administratora.

Rozwiązanie

Programiści jądra usunęli ten błąd w repozytorium, dystrybucje GNU/Linuksa zapewne już wkrótce opublikują nowe pakiety z kernelami, które załatają tę lukę.

Obejście

Tymczasową ochronę zapewnia wyłączenie obsługi 32-bitowego formatu ELF, o ile tylko nie jest on używany. Szczegółowe instrukcje opisujące taką operację można znaleźć w dokumencie "Workaround for Ac1db1tch3. exploit".

Problemy powiązane

Co ciekawe, luka według Hawkesa została odkryta jeszcze w 2007 roku i również wtedy została naprawiona. Jednak w roku 2008 programiści wycofali się z tej poprawki, w wyniku czego kernel znowu stał się narażony na jej działanie. Exploit z tamtego czasu wymagał jedynie drobnych poprawek, aby ponownie wykorzystywać tę lukę.

wydanie internetowe www.heise-online.pl

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (19)