Немецкий разработчик и по совместительству исследователь безопасности Сабри Хаддуш (Sabri Haddouche), обнаруживший в конце прошлого года серию уязвимостей под названием MailSploit, которой подвержены более 30 почтовых клиентов, рассказал ещё об одной уязвимости, на этот раз затрагивающей iOS-устройства.
Речь идёт о html-коде, который приводит к принудительной перезагрузке (force restart) iPhone и iPad. По всей видимости, уязвимость характерна для iOS 11, а также iOS 12 GM. Мобильные устройства Apple уходят в ребут при задействовании любого браузера на WebKit (Edge, кстати, баг обходит стороной). На компьютерах, работающих под управлением macOS High Sierra / Mojave проблема проявляется при использовании Safari. Mac в этом случае виснет, помогает только перезагрузка.
Сабри Хаддуш опубликовал в своём Twitter ссылку на веб-страницу, содержащую код. В нём есть огромное количество вложенных элементов «div», а также функция размытия заднего плана.
Осторожно! Если у вас iOS-устройство, переход по ссылке может привести к перезагрузке вашего смартфона или планшета.
Похоже, что уязвимость есть и в watchOS 5. Некоторые пользователи сообщают, что их Apple Watch тоже перезагружаются.
Не исключено, что код, вызывающий зависания и перезагрузку устройств, может быть использован в массовых рассылках. Поэтому осторожно относитесь ко всякого рода ссылкам в письмах и на подозрительных ресурсах. Компания Apple уже знает о проблеме, но официальных комментариев пока не даёт.
А никто не пытался задаться вопросом из-за чего возникает эта проблема? Не? Всем лиж бы похаять эпол?
Весь прикол в том, что задаётся 6971 блоков, размер каждого из них 10 000 * 10 000px (в четыре раза больше чем разрешение экрана 13" макбук про), итого мы имеем страницу размером 69 710 000 * 69 710 000px, для каждого из этого блока вешается тяжелющее base64 изображение, а потом задаётся БЛЮР. Блюр — единственная причина по которой зависает браузер, устройство НЕ МОЖЕТ отрисовать ТАКОЙ объём графики в один момент. Я думаю если вы подождёте денёк — страница отрисуется. Хромы, оперы и прочие браузеры имеют иммунитет к этой уязвимости только потому что они не имеют того самого блюра, сафари — единственный браузер который имеет блюр включённый по умолчанию.
Если вы считаете что вы сидите на ультрастабильных браузерах и у вас такого не будет — заходите в хром (оперу), вводите chrome://flags и включайте флаг Experimental Web Platform features который активирует этот самый блюр, заходите на ту самую страницу, а уже после этого уже умничайте об уязвимостях.
Это, в целом, известно со времен первых операционных систем, собственно, поэтому в грамотных ОС системные приложения могут выбивать из памяти при необходимости второстепенные процессы, сохраняя стабильность системы.
filter:blur(100px);
-webkit-filter:blur(100px);
-moz-filter:blur(100px);
caniuse.com/#feat=css-filters
caniuse.com/#search=backdrop-filter
Размер блока не в 4 раза больше, а примерно в 24, математикКстати, тут на днях у ipad перестал работать тачскрин, притом кнопки — рабочие. Не мог ни разблокировать, ни перезагрузить (появляется свайп «выключить» но тачскрин то не пашет).
Оказывается что-бы хардварно перезагрузить достаточно нажать кнопку home+громкость вверх+питание, и удерживать пока не перезагрузится. На андроид что-то подобное было.