Как цепочка ошибок Edge превратилась в побег из песочницы

Orange Tsai из DEVCORE показал на конкурсе Pwn2Own в Берлине, как вредоносная веб-страница может выйти из песочницы Microsoft Edge и запустить код в Windows. Для этого не понадобилась порча памяти: хватило нескольких ошибок в логике браузера и операционной системы. Эксплойт принёс исследователю 175 тысяч долларов, а весь код занял меньше ста строк.
Как цепочка ошибок Edge превратилась в побег из песочницы
Изображение носит иллюстративный характер

Полный разбор Tsai опубликовал 28 октября, через пять месяцев после конкурса. Цепочка начиналась с функции Edge для корпоративной авторизации — conditional access navigation throttle. Из-за ошибки процесс браузера мог начать переход на другую страницу, не связанный с вкладкой, которая его запросила. Edge прикреплял навигацию к открытой вкладке, и это позволяло выполнять JavaScript от имени посторонних сайтов.
Так возникла возможность универсального межсайтового скриптинга — UXSS. В отличие от обычной уязвимости на одном сайте, этот сценарий позволял добраться даже до и обходить политику безопасности сайта. Tsai назвал такую возможность новой поверхностью атаки: она возникла из-за того, как сам браузер обрабатывал переходы.
Чтобы сценарий запускался без щелчка пользователя, исследователь использовал ещё четыре слабых места. Проверку доверенного сайта удалось обойти, открыв запрос из второго окна. Всплывающее окно пропустил блокировщик Edge: в браузере был жёстко задан список разрешённых адресов, и один из них подходил для атаки. Автоматический вход в учётную запись Microsoft помогал, если пользователь уже был авторизован, а неправильно настроенный межсайтовый доступ на позволял странице получить его адрес электронной почты.
Выполнение JavaScript на сайтах ещё не означало контроль над компьютером. Следующим звеном стал режим чтения Edge Immersive Reader, работающий под специальным адресом read://. Microsoft не включила этот адрес в список страниц, которым запрещено выполнять сценарии. Затем Tsai вызвал внутреннюю функцию браузера, предназначенную для упаковки диагностических журналов. Её удалось заставить записать файл с выбранным содержимым и именем в любое место на диске.
Записанный файл менял конфигурацию, в которой указано, каким сайтам разрешено запускать обработчики протоколов. После перезапуска Edge читал уже подменённые настройки, а ссылка telnet:// запускала следующий этап. В Windows по умолчанию нет программы Telnet, поэтому система искала её в путях поиска приложений. Там находилась копия, заранее помещённая атакующим в папку, доступную обычному пользователю. Windows запускала именно её.
На сцене Pwn2Own Tsai показал конкурсный эксплойт; сведений о применении этой цепочки против реальных пользователей нет, а в открытых записях CVE эксплуатация не отмечена. Перезапуск браузера исследователь счёл удобным для демонстрации, но не обязательным условием атаки. По его словам, цепочку он собирал вручную около двух месяцев, без помощи ИИ: «Труднее всего их найти; когда находишь все ошибки, объединить их в цепочку проще всего».
Microsoft выпустила исправление 15 мая, на следующий день после конкурса, в стабильной версии Edge 148.0.3967.70. В обновление вошли исправления CVE-2026-45492, CVE-2026-45494 и CVE-2026-45495. Первую уязвимость Microsoft описала как обход функции безопасности, вторую — как спуфинг; обе затрагивали версии Edge до 148.0.3967.70. Для первых двух ошибок компания указала оценку 5,4 из 10, то есть средний уровень риска. Эта оценка относится к каждой уязвимости отдельно, а не к результату всей цепочки, которая позволяла запустить код.
DEVCORE сообщил, что исправление вышло менее чем через 24 часа после раскрытия уязвимостей. Обновление Edge закрывает описанный сценарий; браузеры с автоматическим обновлением должны были получить его без дополнительных действий пользователя. За эту работу Tsai получил премию Pwnie Award 2026 в номинации Epic Achievement.


Новое на сайте

Ссылка