
Уязвимость BDU:2024-11011 в драйвере Common Log File System (CLFS)
Уязвимость BDU:2024-11011 (CVE-2024-49138) в драйвере Common Log File System (CLFS) связана с переполнением буфера в динамической памяти при обработке специально созданных файлов журналов (BLF). Это позволяет локальному злоумышленнику выполнить произвольную запись в память ядра, повысить привилегии до уровня SYSTEM и полностью скомпрометировать систему.
Уровень опасности: Высокий (CVSS:3.1 7.8 / 6.8) - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
Затронутые системы: Windows 10/11, Windows Server 2008–2025.
Технический анализ эксплойта
1. Подготовка вредоносного BLF-файла
Эксплойт создает файл журнала (mylogdddd.blf
) с помощью API CreateLogFile
и добавляет контейнер через AddLogContainer
. Уязвимость активируется при парсинге структуры Control Block внутри BLF-файла, где:
-
Специально сформированные записи вызывают переполнение буфера в куче (heap) ядра.
-
Подмена виртуальной таблицы (vtable) объекта
CLFS_CONTAINER
перенаправляет выполнение кода на функциюDBGKPTRIAGEDUMPRESTORESTATE
в ядре.
2. Arbitrary Write в ядро
Функция DBGKPTRIAGEDUMPRESTORESTATE
содержит примитив записи по произвольному адресу:
*(PDWORD64)(arg_DBGKPTRIAGEDUMPRESTORESTATE + 0x10) = value_to_write;
Эксплойт использует это для:
-
Изменения
PreviousMode
потока (с 1 на 0), обходя проверки режима пользователя. -
Подмены токена процесса через
NtWriteVirtualMemory
, заменяя текущий токен на токен SYSTEM.
3. Ключевые этапы кода
-
Создание уязвимой структуры BLF:
logHndl = CreateLogFile(L"LOG:C:\\temp\\testlog\\mylogdddd.blf", ...); AddLogContainer(logHndl, ..., L"C:\\temp\\testlog\\container1");
-
Использование
DBGKPTRIAGEDUMPRESTORESTATE
:*(PDWORD64)((PCHAR)pcclfscontainer + 0x200 + 0x68) = g_ntbase + DBGKPTRIAGEDUMPRESTORESTATE_OFFSET;
-
Замена токена:
NtWriteVirtualMemory((HANDLE)-1, eprocess + TOKEN_OFFSET, &systemtoken, ...);
Условия эксплуатации
-
Локальный доступ с правами обычного пользователя.
-
Отсутствие патчей для CVE-2024-49138.
-
Возможность создания файлов в системных директориях (например,
C:\temp
).
Рекомендации по защите
-
Установите обновления:
-
Примените патчи Microsoft от 10 декабря 2024 г..
-
Проверьте версию ОС
в powershell команда:
winver
-
-
Ограничьте права пользователей:
-
Используйте LAPS для управления локальными административными паролями.
-
Включите User Account Control (UAC) с настройкой «Always notify».
-
-
Настройте антиэксплойты:
-
Активируйте HVCI (Hypervisor-Protected Code Integrity) и CFG (Control Flow Guard).
-
Используйте Microsoft Defender Exploit Guard.
-
-
Мониторинг:
-
Отслеживайте создание подозрительных BLF-файлов через Windows Event Log (Event ID 4657).
-
Используйте правила SACL для директорий вроде
C:\temp\
.
-
