Кибербезопасность

Простой фрагмент CSS заставляет iPhone перезагрузиться

Проверочный код (PoC) для уязвимости в движке WebKit, которым пользуется браузер Safari, был опубликован в интернете. После загрузки HTML-страницы со специальным CSS-кодом iOS зависает и перезагружается.

Проблема эксплуатируется с помощью CSS-эффекта backdrop-filter, применённого ко всем элементам div на странице. Фильтр фона — относительно новое свойство CSS: оно позволяет размывать или искажать цвета в области, находящейся позади элемента. Такая операция требует значительных ресурсов, что давно беспокоит некоторых разработчиков.

Опасения по поводу этой уязвимости подтвердил разработчик и специалист по безопасности Сабри Хаддуш, который и обнаружил проблему. Исследователь опубликовал PoC-эксплойт в своём аккаунте Twitter, а также выложил видео с демонстрацией атаки, в результате которой смартфон перезагрузился. В зависимости от версии операционной системы атака приводит либо к простой перезагрузке и перезапуску пользовательского интерфейса, либо к панике ядра, которая также заканчивается перезагрузкой.

Исследователь также создал специальную страницу, демонстрирующую проблему в действии.

По словам Аддуша, ошибка затрагивает не только iOS, но и может негативно сказаться на macOS. Согласно исследователю, в текущем виде (только HTML и CSS) атака «замораживает» Safari и на целую минуту замедляет работу macOS, и лишь после этого пользователь может закрыть проблемную вкладку.

Более серьёзная атака на настольную версию браузера потребует модификации эксплойта и добавления JavaScript. Однако исследователь не решился опубликовать этот эксплойт, поскольку проблема сохраняется даже после перезагрузки устройства: Safari снова загружает вредоносную страницу, и цикл повторяется.

Специалист уже сообщил инженерам Apple об уязвимости, и те, по его словам, изучают проблему.

Ваше мнение