
PoC локального повышения привилегий для CVE-2026-66804 в Windows с использованием подсадки DLL CrossDevice и олицетворения токенов SigmaPotato для запуска процесса SYSTEM.
Доказательство концепции для LPE в CrossDevice/FrameServer, о котором я сообщил в MSRC и которому присвоен CVE-2026-66804. Уязвимость затрагивает Windows 10 и Windows 11.
Windows регистрирует этот общесистемный COM-сервер:
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InprocServer32
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
На протестированных уязвимых установках каталог C:\ProgramData\CrossDevice отсутствовал, и обычный пользователь мог его создать. Размещение зарегистрированной DLL и запуск виртуальной камеры Media Foundation приводили к тому, что FrameServer загружал DLL от имени NT AUTHORITY\LOCAL SERVICE в сеансе 0.
Затем PoC использует привилегию SeImpersonatePrivilege токена LocalService через встроенный помощник SigmaPotato для получения SYSTEM и открывает обычный cmd.exe на активном рабочем столе. SigmaPotato — это финальный универсальный шаг преобразования; продемонстрированный здесь отказ границы безопасности Microsoft — это предыдущая загрузка подконтрольной атакующему DLL в FrameServer.
PoC был протестирован на Windows 11 сборок 26200.8875 и 29617.1000.
Целевой каталог не должен существовать на момент запуска. Из обычной командной строки без прав администратора выполните:
CrossDeviceLPE.exe
Всё. Теперь у вас должно быть
nt authority\system
Исполняемый файл содержит все компоненты времени выполнения; дополнительные файлы или аргументы командной строки не требуются.
В PoC встроены SigmaPotato 1.2.6 и сборка VCamSample. Их лицензии находятся в каталоге third_party/.
Репозиторий содержит исходные коды загрузчика и полезной нагрузки, а также две зафиксированные сторонние двоичные сборки, необходимые для автономной сборки. В Linux установите инструментарий MinGW-w64 GCC и выполните:
./build.sh