Взлом Edge на Pwn2Own: опубликован разбор цепочки за 175 000 долларов

2026-10-28 152 комментарии
Исследователь показал, как объединение логических ошибок позволяло перейти от веб-страницы к запуску программы в Windows. В цепочке участвовали UXSS, режим чтения и обработчик telnet, а для CVE-2026-45495 Microsoft указала 8,8 балла CVSS. Исправления доступны в Edge Stable начиная с версии 148.0.3967.70

Исследователь Orange Tsai из DEVCORE 28 октября 2026 года опубликовал разбор цепочки уязвимостей Microsoft Edge, которая позволяла запустить код в Windows за пределами песочницы браузера. Для этого было достаточно открыть вредоносную страницу: дальнейшие действия в продемонстрированном сценарии не требовали дополнительных нажатий. По описанию автора, вся цепочка состояла из логических ошибок и особенностей штатных механизмов, без повреждения памяти. Microsoft выпустила исправления ещё 15 мая в Edge Stable 148.0.3967.70.

За что исследователь получил 175 тысяч долларов


Orange Tsai продемонстрировал выход из песочницы Edge 14 мая на Pwn2Own Berlin 2026. Согласно результатам организаторов, он объединил четыре логические ошибки и получил 175 000 долларов и 17,5 балла Master of Pwn. В опубликованном техническом разборе автор описывает пять ошибок и две особенности Windows. Перечень компонентов в разборе автора отличается от конкурсного подсчёта.

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

Песочница браузера – механизм изоляции, который ограничивает доступ процессов обработки веб-контента к ресурсам операционной системы. Выход из песочницы позволяет преодолеть эту границу, но сам по себе не означает получение прав администратора.

Как механизм входа позволил выполнить JavaScript на чужом сайте

Отправной точкой стал EdgeCAGuidanceNavigationThrottle – обработчик навигации, связанный с условным доступом Microsoft Entra ID. Он помогает выбрать подходящий профиль браузера при входе с рабочей учётной записью на сайте Microsoft.

При определённых условиях обработчик отменял исходный переход и создавал новый из основного процесса браузера. Однако новый запрос не был привязан к вкладке, которая его инициировала. В результате Edge использовал текущую активную вкладку, и подготовленный переход мог выполнить JavaScript уже в контексте другого сайта.

Так исследователь получил универсальный межсайтовый скриптинг, или UXSS. Он продемонстрировал выполнение JavaScript на google.com. Поскольку переход запускал сам браузер, цепочка обходила Content Security Policy (CSP) – политику, с помощью которой сайт ограничивает выполнение скриптов. Tsai рассматривает навигацию без привязки к исходной вкладке как отдельное направление для дальнейшего поиска уязвимостей.

UXSS – уязвимость браузера, позволяющая выполнить скрипт в контексте произвольного сайта с обходом межсайтовой изоляции. Для такой атаки не обязательно искать отдельную XSS-ошибку в каждом целевом веб-сервисе.

Что позволило обойти дополнительные проверки

Первоначальный механизм требовал доверенного сайта Microsoft, возможности открыть новое окно, активного входа в профиль и знания адреса электронной почты пользователя. Исследователь последовательно выполнил эти условия:

  • Доверенный источник. Edge проверял адрес открытой страницы, но некорректно учитывал переходы, инициированные из другого окна. Это позволило обойти проверку происхождения запроса.
  • Блокировка всплывающих окон. В Edge существовал жёстко заданный список разрешённых адресов. Окно открывалось через исключение, после чего его можно было перенаправить.
  • Вход в профиль. В исследованной конфигурации OneAuth использовала имеющиеся учётные данные Microsoft для автоматического входа при посещении сайта компании. Цепочка опиралась на доступную учётную запись; это не равнозначно работе на любом компьютере с локальным пользователем Windows.
  • Адрес электронной почты. Сервис assets.msn.com возвращал email вошедшего пользователя. Неверная настройка CORS позволяла прочитать ответ с постороннего сайта при запросе с учётными данными.

В результате после посещения подготовленной страницы UXSS срабатывал без дополнительных нажатий. Это не означает атаку без открытия страницы: бюллетени уязвимостей предусматривают взаимодействие пользователя, например посещение вредоносного сайта.

Выход из песочницы через режим чтения

Выполнение JavaScript в контексте сайта ещё не давало возможности запустить программу в Windows. Для следующего этапа Tsai использовал режим «Иммерсивное средство чтения» (Immersive Reader), который работает со схемой адресов read://.

Привилегированные внутренние страницы Chromium защищены от выполнения JavaScript через соответствующую схему URL. Однако собственная схема read:// в Edge не была включена в этот запрет. Поэтому UXSS позволил выполнить скрипт в режиме чтения и обратиться к внутренней функции подготовки диагностических журналов chrome.edgeFeedbackPrivate.zipDiagnosticLogFiles().

Эта функция создавала файлы перед упаковкой в архив, но недостаточно проверяла переданный путь. В сочетании с другими элементами цепочки ошибка давала запись файлов с выбранными именем и содержимым за пределами временного каталога, в пределах прав текущего пользователя. Данные передавались через JSON, поэтому содержимое должно было быть допустимой строкой UTF-8. Бюллетень ZDI связывает небезопасную обработку путей диагностических журналов с CVE-2026-45495 и подтверждает возможность выполнения кода с правами пользователя.

Как запись файлов превратилась в запуск программы

Для завершения атаки исследователь перезаписывал protocols.json – конфигурацию компонента AutoLaunchProtocolsComponent. В ней определено, каким сайтам разрешено запускать обработчики внешних протоколов. После изменения файла Edge мог разрешить такой запуск для выбранного источника.

В конкурсной демонстрации браузер перезапускался, чтобы перечитать конфигурацию. Автор отдельно отмечает, что принудительный перезапуск требовался для сценария Pwn2Own и не является обязательным элементом реальной атаки.

Затем цепочка обращалась к обработчику telnet://. В исследованной Windows клиент telnet.exe не был установлен, поэтому система искала исполняемый файл в каталогах из переменной PATH. Среди них находился доступный пользователю для записи каталог WindowsApps, куда эксплойт заранее помещал собственную 32-разрядную программу. Её запуск завершал выход из браузерной песочницы.

Итогом стало выполнение кода в Windows с правами текущего пользователя. Получение административных или системных привилегий в этой цепочке не показано.

Какие уязвимости исправила Microsoft

В журнале обновлений безопасности Edge за 15 мая указана стабильная версия 148.0.3967.70 с тремя исправлениями, связанными с этим исследованием. Она вышла на следующий день после конкурсной демонстрации.

УязвимостьКлассификация MicrosoftМеханизм по описанию ZDI
CVE-2026-45492Обход защитной функцииНедостаточная проверка происхождения веб-контента в механизме управляемого входа
CVE-2026-45494Подмена (spoofing)Универсальный межсайтовый скриптинг при обработке навигации
CVE-2026-45495Удалённое выполнение кодаНебезопасная обработка путей при работе с диагностическими журналами

В записи Microsoft для CVE-2026-45492 указана оценка CVSS 3.1 в 5,4 балла, а для CVE-2026-45495 – 8,8 балла. Оценки отдельных ошибок нельзя воспринимать как единую оценку всей цепочки. Записи CVE для этих двух уязвимостей указывают затронутые версии до 148.0.3967.70.

Опубликованное исследование описывает конкурсный эксплойт. В просмотренных записях CVE-2026-45492 и CVE-2026-45495 поле CISA «Exploitation: none» относится к оценкам от 18 мая 2026 года. Эта отметка не доказывает отсутствие эксплуатации в последующие месяцы.

Что нужно сделать пользователям Edge

Исправление доступно с мая. Пользователям актуального Edge отдельный патч для этой цепочки не нужен. При этом включённое автоматическое обновление само по себе не подтверждает, что установка уже завершена: браузеру может требоваться перезапуск.

Проверить обновления можно через меню «три точки» – «Справка и отзывы» – «О программе Microsoft Edge» или непосредственно на странице:

edge://settings/help

Такой же путь приведён в материале COMSS.ru о Microsoft Edge 156. Дождитесь проверки и при необходимости перезапустите браузер. Microsoft также описывает порядок установки обновлений; на управляемом устройстве доступ к некоторым параметрам может определять администратор.

По словам Tsai, он подготовил исследование вручную, без помощи ИИ. Работа получила Pwnie Award 2026 в категории Epic Achievement. Главную сложность автор видит в поиске логических ошибок, после которого их объединение в цепочку становится более простой задачей.

Вывод

Исследование показывает, как ошибки в механизмах входа, навигации и диагностической обратной связи могут совместно привести к запуску программы за пределами браузера. Защита памяти не устраняет такой класс проблем, поскольку цепочка опирается на логику работы функций. Для пользователя практическое действие – проверить, что Edge обновлён и установка обновления завершена.

Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

Нашли ошибку?

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