Duane Griffin wykrył w kodzie jądra Linuksa lukę umożliwiającą lokalnemu użytkownikowi na rozszerzenie swoich uprawnień do poziomu superużytkownika. Przyczyną takiego stanu rzeczy miała być możliwość wystąpienia błędu nie sprawdzania zwracanych wartości, pochodzących od funkcji readlink() modułu eCryptfs. Nie sprawdzenie tego warunku granicznego pozwala na użycie zwracanej wartości ujemnej (-1) jako indeksu tablicy, a to z kolei na zawieszenie jądra lub wykonanie odpowiednio spreparowanego kodu.
Problem został rozwiązany w wersji 2.6.28.1 jądra. Dostępne są także patche dla innych wersji jądra: KLIK
Źródło: www.heise-online.pl |