Исследователь безопасности поделился кодом, вызывающим панику ядра и перезагрузку iPhone и iPad

Ссылки, вызывающие сбой или перезагрузку iPhone и iPad, стали своего рода трендом в последние годы. Последняя была опубликована исследователем безопасности @pwnsdx в Twitter. Интересно, что в данном случае используется простой фрагмент HTML и CSS, вызывающий полную панику ядра устройства, а не просто сбой Springboard.

Ошибка затрагивает любое iOS-устройство, которое может интерпретировать эффект background-filter, впервые представленный в iOS 7. По сути, несколько строк CSS применяют вычисляемый эффект размытия ко всем элементам div на странице. Сопутствующий HTML включает множество элементов div.

Высокопроизводительное рендеринговое отображение перегружает рендерер WebKit, и система не может восстановиться, кроме как перейти в состояние паники ядра, завершить работу до появления логотипа Apple и перезагрузиться.

Вы можете посмотреть исходный код ошибки здесь; это всего лишь несколько строк HTML и CSS. Вы можете открыть ссылку ‘safari-ripper.html’ на этой странице, если хотите попробовать сами — но действуют обычные дисклеймеры и предупреждения. 9to5Mac подтвердил, что это работает в iOS 11 и iOS 12, поэтому вам не обязательно это делать. Это также может привести к зависанию некоторых настольных веб-браузеров.

В отличие от аналогичных случаев сбоя текстовых сообщений, которые могут распространяться как цепная реакция через уведомления iMessage, этот требует, чтобы пользователь посетил веб-страницу, содержащую проблемный код. В худшем случае этот код может быть включен в HTML-сообщение электронной почты, которое вызовет сбой устройства при его открытии.

Это означает, что вероятность реального ущерба относительно невелика. Тем не менее, CSS и JavaScript никогда не должны быть способны вызвать сбой системы таким образом. Apple и группы WebKit, несомненно, выпустят исправление в ближайшие недели, которое войдет в будущие обновления iOS.