главное в кибербезопасности Читать в канале
Уязвимости 21 сентября 2026 2 мин

Windows: уязвимость Dangling COM Object позволяет повысить привилегии

Уязвимость Dangling COM Object позволяет повысить привилегии в Windows

Google Project Zero обнаружил уязвимость CVE-2026-66804 в операционной системе Windows. Исследователи сообщили об этой проблеме Microsoft, и она уже исправлена. Уязвимость представляет собой неполное исправление ранее обнаруженной проблемы CVE-2026-50343, которую назвали «Dark Elevator».

Dangling COM Object регистрируется без исполняемого файла

Причиной уязвимости стала некорректная регистрация COM-объекта CrossDevice. Объект регистрировался в системном разделе реестра HKEY_CLASSES_ROOT, что делало его доступным для всех пользователей, включая системные службы. Однако исполняемый файл для этого объекта отсутствовал. Он должен был располагаться по пути %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll. Этот путь находится в директории C:\ProgramData, которую может изменять любой пользователь. Злоумышленник мог создать произвольный DLL-файл по этому пути. При попытке создания COM-объекта могла загрузиться вредоносная библиотека, что приводило к повышению привилегий.

Эксплуатация уязвимости использует кастомное маршалирование COM

Для загрузки произвольного DLL-файла в привилегированный процесс исследователи использовали технику кастомного маршалирования COM-объектов. COM-среда при вызове методов объекта, работающего вне процесса, маршалирует параметры для RPC-вызова. Если параметром является COM-объект, он преобразуется в структуру OBJREF. Стандартное маршалирование по ссылке создает OBJREF, содержащий информацию для подключения к исходному объекту. Объект может быть расположен на другом компьютере. При демаршалинге эта информация используется для создания RPC-канала обратно к вызывающей стороне. Поддерживается также механизм маршалирования по значению, если объект реализует интерфейс IMarshal. Это позволяет объекту указать произвольный CLSID для демаршалинга, который не обязательно совпадает с исходным объектом. При демаршалинге в сервере используется этот CLSID для поиска DLL-файла в памяти.

Злоумышленник мог отправить кастомный OBJREF привилегированному COM-сервису с указанием CLSID уязвимого объекта. При демаршалинге, который происходит автоматически перед вызовом целевого метода, загружалась бы вредоносная DLL, что приводило к повышению привилегий. Для эксплуатации уязвимости требовалось найти привилегированный COM-сервис, который не применял бы защитные механизмы против кастомного маршалирования. Таким сервисом оказался Shell Create Object Handler, работающий от имени SYSTEM. Для его запуска использовалась запланированная задача \Microsoft\Windows\Shell\CreateObjectTask. Для корректной работы задачи требовалось создать глобальное событие ShellCreateObjectTaskReadyEvent. После запуска задачи и создания события можно было создать COM-объект, который размещался в привилегированном процессе с разрешенным кастомным маршалированием.

Обновиться до последних версий Windows

Microsoft исправила уязвимость CVE-2026-66804. Пользователям рекомендуется установить последние обновления для операционной системы Windows. Исправление устраняет возможность эксплуатации Dangling COM Object для повышения привилегий.

Коротко в карточках

Windows: уязвимость Dangling COM Object позволяет повысить привилегии — карточка 1 из 5Windows: уязвимость Dangling COM Object позволяет повысить привилегии — карточка 2 из 5Windows: уязвимость Dangling COM Object позволяет повысить привилегии — карточка 3 из 5Windows: уязвимость Dangling COM Object позволяет повысить привилегии — карточка 4 из 5Windows: уязвимость Dangling COM Object позволяет повысить привилегии — карточка 5 из 5

Опубликовано в канале 21 сентября, 20:35

Каждый материал сайта выходит в канале в тот же момент.

Источник: Google Project Zero