В Windows SmartScreen нашли способ выполнить код внутри защищённого enclave

Исследователи Doyensec объединили четырёхбайтовую запись и ошибку синхронизации, чтобы обойти изоляцию VBS-enclave, используемого функцией защиты от фишинга. Microsoft устранила уязвимость в обновлении от 8 сентября 2026 года.

В Windows SmartScreen нашли способ выполнить код внутри защищённого enclave

Исследователи из Doyensec продемонстрировали выполнение произвольного кода внутри VBS-enclave Windows — изолированной области памяти, которая должна сохранять секреты защищёнными даже при компрометации основной системы. Уязвимость затрагивает компонент SFAPE.dll, используемый Enhanced Phishing Protection в Microsoft Defender SmartScreen.

Проблема получила идентификатор CVE-2026-83498. Microsoft классифицирует её как критическую уязвимость повышения привилегий с оценкой CVSS 7,8. По данным компании, до выпуска исправления она не была публично известна и не использовалась в атаках. Doyensec опубликовала описание исследования 13 октября — более чем через месяц после выхода патча.

Атака была показана только в лаборатории и не работает удалённо. Злоумышленнику нужен уже запущенный на компьютере код с низкими привилегиями, способный загрузить и вызвать enclave. В случае SFAPE.dll это процесс lsass.exe, отвечающий за учётные данные Windows и работающий от имени SYSTEM.

Enhanced Phishing Protection отслеживает ввод и вставку текста, чтобы предупредить пользователя, если пароль от учётной записи Windows вводят в небезопасном приложении или на фишинговой странице. Для сравнения последующего ввода с паролем система сохраняет его хеш внутри enclave. Этот механизм работает в изолированной среде VTL1, также называемой Isolated User Mode; обычный код Windows находится в VTL0 и не должен иметь доступа к памяти enclave.

Исследователи обнаружили, что повторный вызов функции Initialize позволяет записать фиксированное четырёхбайтовое значение ошибки по адресу, выбранному вызывающей программой, без проверки адреса. Сам по себе этот дефект не даёт полноценной произвольной записи, однако в сочетании с ошибкой синхронизации он позволяет нарушить проверку границ памяти enclave.

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

Работа не подтверждает кражу пароля пользователя: исследование посвящено обходу изоляции enclave. В описании Microsoft последствия уязвимости сформулированы как раскрытие данных из enclave или выполнение кода внутри него.

Исправление вошло в накопительное обновление KB5124008 для Windows 11 версий 24H2 и 25H2, выпущенное 8 сентября 2026 года. По анализу Doyensec, обновлённый компонент проверяет адрес перед проблемной записью и усиливает обработку функции, на которую опиралась ошибка синхронизации. Кроме того, обновление добавляет политику, запрещающую загрузку старой уязвимой версии SFAPE.dll. Отдельного обходного решения нет — необходимо установить обновление.

При этом исследователи обращают внимание, что Windows не использует общий список блокировки уязвимых enclave, аналогичный списку небезопасных драйверов. Новая политика блокирует только старую версию SFAPE.dll. По данным Doyensec, enclave Microsoft Edge с похожей проблемой чтения и записи, CVE-2023-36880, по-прежнему может загружаться.