
Доказательство концепции для CVE-2026-2636, уязвимости Windows CLFS.sys, вызывающей BSoD через ReadFile на дескрипторе CreateLogFile, что позволяет непривилегированному пользователю вызвать отказ в обслуживании.

CVE-2026-2636 — это уязвимость в драйвере Windows Common Log File System (CLFS) (CLFS.sys). Непривилегированный пользователь может вызвать невосстановимое состояние системы, вызвав API ReadFile для дескриптора, открытого через CreateLogFile. Это приводит к синему экрану смерти (BSoD) и отказу в обслуживании (DoS).
Вектор CVSS: (Ожидается официальное присвоение)
Воздействие: Отказ в обслуживании (сбой системы)
Обнаружено: 2025
Выпуск исправления: Накопительное обновление за сентябрь 2025 года
| Версия | Статус |
|---|
| Windows 11 23H2 и более ранние | ? Уязвима |
| Windows 11 2024 LTSC (до сентября 2025) | ? Уязвима |
| Windows Server 2025 (до сентября 2025) | ? Уязвима |
| Windows 11 2024 LTSC (с обновлением за сентябрь 2025) | ? Исправлена |
| Windows Server 2025 (с обновлением за сентябрь 2025) | ? Исправлена |
| Windows 25H2 (выпущена в сентябре 2025) | ? Исправлена |
Уязвимость связана с CWE-159: Некорректная обработка недопустимого использования специальных элементов. В частности, драйвер CLFS не выполняет надлежащую проверку комбинации флагов в пакете запроса ввода-вывода (IRP), связанном с операцией чтения файла журнала CLFS.
Когда операция чтения инициируется через ReadFile для дескриптора, созданного CreateLogFile, система генерирует IRP с определёнными флагами:
| Флаг | Значение | Описание |
|---|---|---|
IRP_PAGING_IO | 0x02 | Указывает, что операция ввода-вывода связана с подкачкой памяти (файл подкачки или файлы, отображаемые в память) |
IRP_INPUT_OPERATION | Различается | Указывает, что операция ввода-вывода включает передачу входных данных |
Ключевой вывод: Для корректного поведения функции должен быть включён как минимум один из этих флагов. В сценарии PoC оба отключены, что приводит к некорректному пути обработки и вызывает BSoD.
Хотя подсистема CLFS уже была источником прошлых уязвимостей (часто связанных со специально созданными файлами .blf), эта проблема уникальна тем, что:
PoC намеренно минимален и состоит всего из двух основных вызовов API, что демонстрирует простоту триггера: