Apple заплатила $75 тысяч за обнаружение бага с удалённым включением камер на устройствах
Исследователь Райан Пикрен опубликовал отчёты о том, что обнаружил семь уязвимостей в браузере Safari и его движке Webkit, которые позволяли вредоносным веб-сайтам удалённо включать камеры Mac, iPhone и iPad. Пикрен сообщил об ошибках Apple — компания исправила ошибки и заплатила ему $75 тысяч в рамках программы вознаграждения за нахождение уязвимостей, пишет Ars Technica.
Apple жестко ограничивает доступ сторонних приложений к камерам своих устройств, однако ограничения для собственных не так строги. При этом всё равно Safari требует для каждого сайта подтверждения от пользователя, что он разрешает ресурсу использовать свою камеру. Исследователь использовал цепочку эксплойтов, которая обошла эту защиту. Благодаря уязвимостям, Пикрену удалось заставить браузер рассматривать свой вредоносный веб-сайт как Skype.com, который был включён в список доверенных ресурсов, которые могут получить доступ к камере. Исследователь отмечает, что для Skype.com не существует веб-версии для Safari, однако с помощью найденных им эксплойтов злоумышленники могут подделать любой веб-сайт, в том числе Zoom и Google Hangouts.
При переходе на подобный замаскированный ресурс Safari по умолчанию начинает ему доверять, хотя в списке доверенных веб-сайтов его нет. С помощью этой уязвимостью сразу по переходе пользователем злоумышленники могли просматривать всё, что было видно на устройстве. Кроме того, на вкладке Safari появлялся значок видеокамеры, что означало, что сайт использует её.
«Проще говоря — ошибка заставила браузер думать, что вредоносный веб-сайт действительно является доверенным. Ресурс сделал это, воспользовавшись рядом недостатков в том, как Safari анализирует URL и сертификаты сайта», — пишет Пикрен.
Опытный образец вредоносного веб-сайта Пикрена использовал JavaScript для прямого доступа к веб-камере, не запрашивая и не получая разрешение пользователя. Исследователь утверждает, что с помощью эксплойтов можно было использовать «любой код JavaScript с возможностью создания всплывающего окна». Это означает, что захват камеры может выполняться не только автономными веб-сайтами, но также встроенными рекламными баннерам или вредоносными расширениями браузера
«Мой вредоносный веб-сайт использовал data: URL для создания URL-адреса Blob, а затем использовал веб-API Location.replace () для перехода к нему. Это вынудило Safari случайно дать мне искаженные данные о происхождении веб-сайта (CVE-2020–3864). Благодаря этому искаженному источнику я использовал API Window.history, чтобы изменить свой URL-адрес на blob: //skype.com. Так я «убедил» Safari в том, что ресурс безопасен (CVE-2020–3865). Поскольку Safari ранее игнорировал схемы URL-адресов при применении разрешений веб-сайта (CVE-2020–3852), я использовал все разрешения, которые пользователь мог предоставить реальному Skype.com», — пишет исследователь.
В ходе обнаружения уязвимостей CVE-2020–3864, CVE-2020–3865 и CVE-2020–3852 Пикрен также нашёл ошибки, которые проиндексированы как CVE-2020–3885, CVE-2020–3887, CVE −2020–9784 и CVE-2020–9787. Apple исправила исправила все эти уязвимости в два этапа — в конце января и в марте.