
Исследователь безопасности, обнаруживший уязвимость в Safari, утверждает, что Apple до сих пор не устранила ее, хотя уведомила компанию более трех месяцев назад. Та же уязвимость присутствовала в браузере Microsoft Edge, но компания выпустила исправление месяц назад…
Ошибка приводит к тому, что Safari отображает URL безопасного веб-сайта, например, gmail.com, в то время как пользователь фактически перенаправлен на вредоносный сайт.
Rafay Baloch опубликовал видео (ниже) с доказательством того, что уязвимость может быть использована. Она основана на стандартной технике фишинга, когда электронное письмо содержит безопасный URL, но сама ссылка перенаправляет вас куда-то еще. Обычно это можно заметить по адресной строке Safari, но эксплойт позволяет вредоносному сайту отображать безопасный URL, несмотря на то, что вы находитесь на фишинговом сайте.
В приведенном примере адресная строка Safari отображает URL банковского веб-сайта, в то время как посетитель фактически находится на совершенно другом сервере.
Эксплойт возможен потому, что Safari позволяет обновлять адресную строку с помощью JavaScript во время загрузки страницы. Таким образом, злоумышленник может перенаправить вас на свой вредоносный сайт, а затем обновить адресную строку, чтобы показать имя безопасного сайта.
Во время моего тестирования было замечено, что браузеры Edge и Safari позволяли JavaScript обновлять адресную строку во время загрузки страницы. При запросе данных с несуществующего порта адрес сохранялся, и, таким образом, из-за состояния гонки за ресурсом, запрошенным с несуществующего порта, в сочетании с задержкой, вызванной функцией setInterval, удалось вызвать подделку адресной строки. Это заставляет браузер сохранять адресную строку и загружать контент с подделанной страницы. Однако браузер в конечном итоге загрузит ресурс, но задержка, вызванная функцией setInterval, будет достаточной для вызова подделки адресной строки.
В Safari есть еще одна сложность, которую должен преодолеть злоумышленник, но видео Baloch показывает, что это достижимо.
В браузере Safari было ограничение, которое не позволяло пользователям вводить информацию в поля ввода во время загрузки страницы. Однако мы смогли обойти это ограничение, внедрив поддельную клавиатуру (что является очень распространенной практикой на сайтах банков).
The Register сообщает, что Baloch подождал обычные 90 дней после уведомления Apple, прежде чем раскрывать детали эксплойта. Этот временной интервал предназначен для того, чтобы компании оперативно закрывали уязвимости безопасности после получения уведомления о них.