Ostatnie kilka dni obfitowały w doniesienia o poważnych lukach w bezpieczeństwie. Oprócz podatności w Androidach (pisałem o tym w poprzednim wpisie), możliwości obejścia ograniczeń logowania w OpenSSH (istotne przy serwerach dostępnych z Internetu), badacze opublikowali detale luki, która umożliwia uzyskanie uprawnień roota w aktualnym systemie OS X Yosemite firmy Apple bez żadnej interakcji ze strony użytkownika (nie trzeba znać ani podawać hasła administracyjnego, atak można przeprowadzić w tle, w sposób niewidoczny).

Ta luka w połączeniu z dowolną inną podatnością (Flash, Java, Safari) umożliwia bardzo proste zdalne i nienadzorowane uzyskanie uprawnień systemowych.

Bardzo poważna dziura w dynamicznym linkerze

Mechanizm ataku polega na ustawieniu zmiennej DYLD_PRINT_TO_FILE na ścieżkę z nazwą pliku odpowiedzialnego za kontrolę dostępu do konta root. W ten sposób po wykorzystaniu luki w dynamicznym linkerze dyld, w pliku sudoers ustawia się uprawnienia w ten sposób, by uzyskanie UID 0 (root) było możliwe bez podawania hasła.

Oto przykład eksploita:

echo ‚echo „$(whoami) ALL=(ALL) NOPASSWD:ALL” >&3’ | DYLD_PRINT_TO_FILE=/etc/sudoers newgrp; sudo -s

Mechanizm Technobloga zamienia pojedynczy apostrof na przecinek – przeklejenie kodu z powyższego przykładu nie wystarczy do ataku (i dobrze!). Polecenia echo służą do utworzenia wiersza w pliku sudoers podobnego do tego:
marcin ALL=(ALL) NOPASSWD:ALL

powyższe w połączeniu z aplikacją newgrp i błędem w dyld sprawi, że polecenie sudo -s nada użytkownikowi (przykładowo: marcin) uprawnienia roota i uruchomi powłokę z tymi uprawnieniami.

Skutek – uprawnienia roota

W ten sposób można przejąć pełną kontrolę nad systemem OS X, bez konieczności podawania hasła administracyjnego.
Apple o tej podatności zostało poinformowane pod koniec kwietnia 2015r. ale historia wprowadzania poprawek do krytycznych podatności (m.in. znana dziura rootpipe) wskazuje, że proces usuwania tej podatności prawdopodobnie będzie trwał całymi miesiącami, o ile w ogóle zostaną usunięte w obecnej wersji systemu. Linker dyld należy do istotnych składników OS X i wprowadzanie zmian w tak ważnym narzędziu wymaga przeprowadzania długotrwałych testów. Omawiana podatność nie występuje w wersji beta następnego wydania OS X o nazwie El Capitan.
Źródło – www.sektioneins.de