В мире информационной безопасности решение полностью удалить функциональность, вместо того чтобы пытаться её исправить, является радикальным, но иногда единственно верным. Именно так поступила компания Microsoft, столкнувшись с опасной уязвимостью в механизме создания отчётов об ошибках Windows (Windows Error Reporting, WER), которая позволяла злоумышленнику с обычными правами пользователя получить полный контроль над системой. Этот случай, получивший идентификатор CVE-2026-20817, вновь поднимает вопросы о сложности безопасной реализации механизмов с повышенными привилегиями в современных операционных системах.
Уязвимость CVE-2026-20817
Уязвимость была классифицирована как локальное повышение привилегий (Local Privilege Escalation, LPE). Её опасность заключается в том, что для эксплуатации не требуется никаких особых прав изначально - достаточно иметь возможность запустить код на целевой машине под учётной записью рядового пользователя. Успешная атака немедленно предоставляет злоумышленнику привилегии уровня SYSTEM, то есть высшие права в операционной системе Windows. Это открывает путь для установки программ-шпионов, кражи конфиденциальных данных, создания скрытых учётных записей или обхода других средств защиты.
Инцидент был обнаружен и исследован специалистами по кибербезопасности Денисом Файустовым и Русланом Сайфиевым из GMO Cybersecurity. Их работа показала, что проблема коренится в обработке сообщений механизмом Advanced Local Procedure Call (ALPC, расширенный локальный вызов процедур) - технологии межпроцессного взаимодействия в Windows. Служба WER при запуске создаёт ALPC-сервер, ожидающий подключений через определённый порт. Исследователи выяснили, что, подключившись к этому порту и отправив специально сформированное сообщение с определёнными флагами, можно заставить службу, работающую от имени SYSTEM, выполнить произвольную команду.
Технически эксплуатация выглядела следующим образом. Злоумышленник, действуя из-под учётной записи с низкими привилегиями, устанавливает соединение с ALPC-портом службы WER. Затем он отправляет сообщение, которое включает в себя так называемый объект "проецируемого файла" (File Mapping object) - область памяти, совместно используемую процессами. В этой памяти размещаются управляемые атакующим аргументы командной строки. Получив такое сообщение, служба WER, следуя своей уязвимой логике, некорректно проверяла права и доверяла предоставленным данным. В результате она создавала токен безопасности с правами SYSTEM и запускала стандартный процесс отладки ошибок WerFault.exe, но уже с параметрами, полностью контролируемыми злоумышленником. Фактически это превращало легитимный системный инструмент в средство выполнения произвольного кода с наивысшими привилегиями.
Ответ Microsoft был неординарным. Вместо того чтобы переписывать сложную логику проверки разрешений в уязвимой функции внутри библиотеки WerSvc.dll, корпорация предпочла полностью её отключить. Сравнение версий библиотеки до и после обновления, проведённое экспертами с помощью техники бинарного сравнения (binary diffing), показало, что в ключевую функцию SvcElevatedLaunch был добавлен простой, но эффективный контроль. Если система обновлена, эта функция немедленно возвращает код ошибки, что полностью блокирует уязвимый путь выполнения. Такой подход, известный как "удаление функциональности", гарантирует устранение конкретной проблемы, однако может повлиять на работу связанных легитимных сценариев, если они полагались на отключённый механизм.
Вскоре после публикации бюллетеня безопасности в открытом доступе появилась рабочая концепция эксплуатации (Proof-of-Concept, PoC), опубликованная исследователем под псевдонимом itm4n. Она наглядно демонстрирует, как можно инициировать выполнение команд с повышенными правами. Между тем, администраторам и специалистам по безопасности следует проявлять бдительность, поскольку на платформе GitHub уже появились поддельные репозитории с PoC, которые могут содержать вредоносный код. К счастью, встроенный антивирусный продукт Microsoft, Windows Defender, способен обнаруживать реальные попытки эксплуатации данной уязвимости. Система защиты отмечает как подозрительную технику, при которой служба WER подменяет идентификатор родительского процесса для нового экземпляра WerFault.exe, что является ключевым элементом атаки.
Данный случай наглядно иллюстрирует постоянную эволюцию как атакующих методик, так и подходов к защите. Уязвимости, связанные с повышением привилегий, остаются золотой жилой для злоумышленников, поскольку часто становятся завершающим этапом цепочки атаки после первоначального проникновения в систему. Получение прав SYSTEM позволяет скрыть следы деятельности, отключить защитные решения и закрепиться в инфраструктуре. Для организаций инцидент служит важным напоминанием о необходимости своевременного применения обновлений безопасности, особенно тех, которые касаются критических системных компонентов. Хотя Microsoft решила проблему кардинально, сам факт её существования в течение неопределённого периода времени подчёркивает важность многоуровневой защиты, включающей принцип наименьших привилегий, мониторинг аномальной активности и регулярный аудит систем.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-20817
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20817
- https://itm4n.github.io/cve-2026-20817-wersvc-eop/