Cyberbezpieczeństwo

Zwykły kod CSS powoduje ponowne uruchomienie iPhone’a

W sieci opublikowano dowód koncepcji (PoC) wykorzystujący problem w silniku WebKit, z którego korzysta m.in. przeglądarka Safari. Po załadowaniu strony HTML zawierającej specjalny kod CSS system iOS zawiesza się i uruchamia ponownie.

Luka jest wykorzystywana za pomocą efektu CSS backdrop-filter, zastosowanego do wszystkich elementów div na stronie. Filtr tła to nowa właściwość CSS, która pozwala rozmywać lub zniekształcać kolory w obszarze znajdującym się za elementem. Taka operacja wymaga ogromnych zasobów, co od dawna budzi obawy niektórych programistów.

Słuszność tych obaw potwierdził w weekend programista i specjalista ds. bezpieczeństwa Sabri Haddouche, który odkrył problem. Badacz opublikował na Twitterze link do exploita PoC, a także film demonstracyjny ataku, który doprowadził do zresetowania smartfona. W zależności od wersji systemu operacyjnego atak powoduje zwykłe ponowne uruchomienie interfejsu użytkownika albo wywołuje kernel panic, co również kończy się restartem urządzenia.

Badacz przygotował także specjalną stronę, która pokazuje działanie błędu.

Haddouche zaznacza przy tym, że błąd dotyczy nie tylko iOS, ale może też negatywnie wpływać na macOS. Według badacza w obecnej postaci (wyłącznie HTML i CSS) atak „zamraża” Safari i spowalnia macOS na dobrą minutę, a dopiero potem użytkownik może zamknąć problematyczną kartę.

Poważniejszy atak na desktopową wersję przeglądarki wymagałby zmodyfikowania exploita i dodania JavaScriptu. Badacz nie odważył się jednak opublikować takiego exploita, ponieważ problem utrzymuje się nawet po ponownym uruchomieniu urządzenia: Safari ponownie ładuje złośliwą stronę i cały cykl się powtarza.

Specjalista poinformował już inżynierów Apple o luce i przekazał, że analizują oni problem.

Twoja opinia