Posiadacze urządzeń z logo nadgryzionego jabłka nie będą zadowoleni z dzisiejszej informacji. Wczoraj pojawił się kolejny błąd 0-day umożliwiający atakującym uruchomienie zdalnie dowolnej komendy w systemie macOS. A to wszystko za pomocą specjalnie przygotowanego pliku *.inetloc.

Ostatnio dużo pisaliśmy o podatnościach w Windows (patrz PrintNightmare). Jeśli nie używa Windowsa z powodu dużej ilości wykrywanych dziur w systemie i przesiadł się na bardziej bezpieczny system MacOS, to w tym przypadku może się rozczarować. Właśnie wykryto nowy błąd w aplikacji Finder na macOS, który umożliwia atakującym uruchamianie poleceń na komputerach Mac z dowolną wersją systemu macOS (aż do najnowszej wersji Big Sur).


Błąd w pliku inetloc

Autorem odkrycia jest niezależny badacz bezpieczeństwa Park Minchan, który opublikował je wczoraj tutaj SSD Secure Disclosure. Opisywana luka występuje w sposobie przetwarzania plików *.inetloc przez system MacOS, dzięki niej można w niekontrolowany sposób i bez żadnych ostrzeżeń oraz podpowiedzi dla użytkownika końcowego uruchomić osadzone w środku polecenie.

Przypominamy, że w systemie macOS internetowe pliki lokalizacji z rozszerzeniem *.inetloc są zakładkami systemowymi, których można używać do otwierania zasobów online (news://, ftp://, afp://) lub plików lokalnych (file://).

Zagrożenie jest bardzo duże, ponieważ pliki te mogą być osadzane w wiadomościach e-mail i mogą posłużyć jako wektor ataku – jeśli użytkownik je kliknie, wykonają wbudowane w nich polecenia bez wyświetlania monitu lub ostrzeżenia.


Dostępny exploit i PoC

W sieci pojawił się publiczny exploit (przykładowy plik inetloc zawierający odpowiednią budowę). Zawartość prezentujemy poniżej.

Postanowiliśmy przetestować udostępniony przez badacza exploit. Nasze testy potwierdziły, że luka może być wykorzystana do uruchamiania dowolnych poleceń w systemie macOS Big Sur przy użyciu specjalnie spreparowanych plików pobranych z Internetu bez żadnych monitów ani ostrzeżeń!

Poniższy plik „test.inetloc” w chwili uruchomienia go przez użytkownika otworzy automatycznie aplikację kalkulator. Może też wykonać dowolny, inny kod stwarzając duże zagrożenie.

Pamiętajmy, że w systemie MacOS plik inetloc wygląda następująco:


Cicha poprawka Apple bez nadanego CVE

Podczas gdy Apple po cichu naprawiło problem bez przypisywania numeru identyfikacyjnego CVE, jak później odkrył Minchan, łatka Apple tylko częściowo rozwiązała problem, ponieważ nadal można wykorzystać błąd, zmieniając protokół używany do wykonywania osadzonych poleceń z „file://” na „FiLe://”.

Jak podaje poradnik: „Nowsze wersje systemu macOS (z Big Sur) zablokowały prefiks „file://” (w lokalizacji com.apple.generic-internet), jednak jest możliwe obejście przy zmianie wielkości liter, przez co „File://” lub „fIle://” pomija to sprawdzanie w systemie”.

Ważną informacją jest też:

„Powiadomiliśmy Apple, że FiLe:// (tylko zniekształcanie wartości) nie wydaje się być zablokowane, ale nie otrzymaliśmy od nich żadnej odpowiedzi od czasu zgłoszenia. O ile nam wiadomo, w tej chwili luka nie została załatana.”

Nasze testy przeprowadzone na najnowszym systemie MacOS również to potwierdziły.


Podsumowanie

Zero-day to publicznie ujawnione luki, które nie zostały załatane przez dostawcę. W niektórych przypadkach są aktywnie wykorzystywane przez atakujących lub mają publicznie dostępne exploity typu „proof-of-concept”. Takie przypadki 0-day jak opisywane powyżej cyberprzestępcy mogą potencjalnie wykorzystać do tworzenia złośliwych załączników do wiadomości e-mail, które po otwarciu przez ofiary byłyby w stanie uruchomić dołączony lub zdalny ładunek. Uważajcie na tego typu maile w przyszłości i czekajmy aż firma Apple poprawi poprawnie wykryty błąd. Tymczasem polecamy lekturę. O tym jak się chronić przez phishingiem pisaliśmy tutaj.

Podziel się z innymi tym artykułem!