
Уязвимость BDU:2025-00287 (CVE-2025-21333) Windows Hyper-V
Уязвимость BDU:2025-00287 (CVE-2025-21333) переполнения буфера в подсистеме аппаратной виртуализации Windows Hyper-V, позволяющая локальному злоумышленнику повысить привилегии до уровня SYSTEM. Уязвимость существует в драйвере vkrnlintvsp.sys
и связана с некорректной обработкой параметров при создании межвиртуальных событий через функцию NtCreateCrossVmEvent
. При передаче специально сформированного DACL (списка управления доступом) размером более 0xFFF0 байт происходит переполнение буфера в пуле ядра, что позволяет повредить смежные объекты и получить полный контроль над системой. Эксплуатация требует включенной функции Windows Sandbox и локального доступа с правами стандартного пользователя.
Анализ уязвимости
Уровень опасности: 7.8 HIGH
Вектор атаки: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
-
AV:L (Вектор атаки): Локальный
-
AC:L (Сложность эксплуатации): Низкая
-
PR:L (Уровень привилегий): Пользователь
-
UI:N (Взаимодействие с пользователем): Не требуется
-
S:U (Область воздействия): Неизменная
-
C:H (Конфиденциальность): Полная компрометация
-
I:H (Целостность): Полная компрометация
-
A:H (Доступность): Полная компрометация
Условия эксплуатации
-
Локальный доступ к системе с правами пользователя
-
Включенная функция Windows Sandbox (по умолчанию отключена)
-
Уязвимые версии ОС:
-
Windows 10 21H2-24H2 x64
-
Windows 11 22H2-24H2 (x64/ARM64)
-
Windows Server 2022/2025
-
Технический анализ уязвимости
Уязвимость CVE-2025-21333 возникает в драйвере vkrnlintvsp.sys
, отвечающем за взаимодействие между виртуальными машинами Hyper-V. При обработке вызова NtCreateCrossVmEvent
происходит переполнение буфера в куче ядра:
typedef NTSTATUS(NTAPI* NtCreateCrossVmEvent)( PHANDLE EventHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, // Контролируемый атакующим ULONG Unknown1, PVOID Unknown2, GUID* Guid );
Ключевая проблема — отсутствие проверки размера DACL в SECURITY_DESCRIPTOR
. При передаче искусственно раздутого DACL (>0xFFF0 байт) происходит переполнение пула ядра.
Анализ эксплойта
Рассмотрим код эксплоита для понимания работы вектора атаки с использованием этой уязвимости.
Эксплойт использует технику "heap feng shui" для превращения переполнения в R/W примитивы ядра:
Этапы работы:
-
Подготовка объектов:
-
Создание 5000+ WNF-состояний (
NtCreateWnfStateName
) -
Инициализация I/O Ring объектов с регистрацией буферов
for (int i = 0; i < IORINGS_SIZE; i++) { CreateIoRing(IORING_VERSION_3, flags, ...); BuildIoRingRegisterBuffers(..., REGBUFFERCOUNT, preregBuffers); }
-
-
Триггеринг уязвимости:
-
Формирование "раздутого" DACL с размером 0xFFF0
-
Вызов уязвимой функции:
fNtCreateCrossVmEvent(&hEvent, EVENT_ALL_ACCESS, &oa, 0, &guid2, &guid2);
-
-
Превращение в R/W примитив:
-
Повреждение структур WNF для подмены указателей
-
Замена
IOP_MC_BUFFER_ENTRY
на контролируемую пользовательскую структуру
fake_bufferentry->Address = TargetAddress; // Произвольный адрес ядра fake_bufferentry->Length = size;
-
-
Кража токена SYSTEM:
-
Поиск EPROCESS через утечку адресов
-
Подмена токена текущего процесса
KRead((PVOID)(system_eproc + EPROCESS_TOKEN_OFFSET), ...); KWrite((PVOID)cur_token_ptr, &system_token, ...);
-
Риски и последствия
-
Полный контроль системы: Права SYSTEM позволяют:
-
Устанавливать руткиты/бэкдоры
-
Отключать защиту (Defender, EDR)
-
Читать память других процессов (пароли, токены)
-
-
Обход изоляции: В контейнерах Hyper-V/Sandbox:
# Вредонос в Windows Sandbox .\CVE-2025-21333-POC.exe [+] Got SYSTEM privileges!
-
Постоянный доступ: Модификация системных файлов:
-
Подмена lsass.exe
-
Внедрение в драйверы
-
Создание скрытых учетных записей
-
Методы защиты
-
Обновление системы.
-
Отключение Sandbox (если не используется):
Disable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM"
-
Контроль целостности:
-
Enable HVCI (Hypervisor-Protected Code Integrity)
-
Microsoft Defender Application Control
-
Правила обнаружения (Suricata/YARA)
Network Detection (HTTP):
alert http any any -> $HOME_NET any ( msg:"CVE-2025-21333 Exploit Attempt"; flow:to_server; content:"WindowsSandboxClient.exe"; content:"BDU:2025-00287"; distance:0; metadata:policy security-ips; sid:202521333; )
Memory Detection (YARA):
rule hyperv_exploit_cve_2025_21333 { meta: description = "Detects CVE-2025-21333 exploit patterns" strings: $s1 = "vkrnlintvsp.sys" fullword ascii $s2 = { 48 C7 C0 ?? ?? ?? ?? 48 8B 80 ?? ?? ?? ?? 48 89 ?? ?? ?? 48 8B } condition: any of them }
Заключение
Уязвимость BDU:2025-00287 (CVE-2025-21333) критична для сред виртуализации Windows. Основные риски связаны с локальным повышением привилегий при включенном Hyper-V/Sandbox. Для защиты требуется комплекс мер: установка патчей, ограничение прав пользователей и мониторинг аномальной активности в подсистеме виртуализации.
