Статья Windows LPE zero-day cldflt.sys: как MiniPlasma оживляет баг шестилетней давности до SYSTEM

Плата минифильтра Windows с выжженной дорожкой к чипу контроля привилегий. На шелкографии выгравированы идентификатор уязвимости и имя драйвера, к отладочному разъёму подключён щуп логического анал...


13 мая 2026 года исследователь под псевдонимом Nightmare-Eclipse выложил на GitHub рабочий эксплойт MiniPlasma. Штука поднимает обычного пользователя до NT AUTHORITY\SYSTEM на Windows 11 с установленными обновлениями May 2026 Patch Tuesday. Казалось бы - CVE-2020-17103 в драйвере cldflt.sys нашёл Джеймс Форшоу из Google Project Zero ещё в сентябре 2020-го, патч выкатили в декабре. Шесть лет прошло. А оригинальный PoC отработал без единой правки. Просто запустил - и получил SYSTEM.

EPSS-рейтинг CVE-2020-17103 - 0.2722 (97-й перцентиль), top 5% по вероятности эксплуатации в течение 30 дней. MiniPlasma - шестой эксплойт серии Chaotic Eclipse за шесть недель, и три предыдущих из этой серии подтверждены в реальных атаках. Не в лабе - в проде.

Повышение привилегий через cldflt.sys: место в цепочке атаки​

MiniPlasma - локальный эксплойт. Initial access он не даёт. Но давайте честно: в реальном мире (фишинг, документ с макросом, drive-by download, украденные RDP-креды) атакующий получает foothold в виде low-priv сессии. И именно на этапе перехода от ограниченного пользователя к полному контролю над хостом LPE до SYSTEM решает - атакующий остаётся в песочнице или забирает машину целиком.

Что даёт LPE до SYSTEM через cldflt.sys в контексте kill chain:
  • Credential access - дамп LSASS, извлечение NTLM-хешей и Kerberos-билетов для пивотинга
  • Defense evasion - отключение или ослепление EDR-агентов, работающих в user-mode
  • Persistence - запись в защищённые ветки реестра (SYSTEM, SAM, SECURITY), создание сервисов
  • Lateral movement - использование извлечённых билетов для перемещения по сети
Для ransomware-операторов публичный LPE zero-day с рабочим PoC - это force multiplier. Самый ненадёжный этап (эскалация из low-priv foothold до контроля машины) становится тривиальным. По данным ThreatLocker, BlueHammer, RedSun и UnDefend - предыдущие эксплойты серии Chaotic Eclipse - уже подтверждены в реальных атаках после публичного раскрытия.

MITRE ATT&CK: T1068 - Exploitation for Privilege Escalation (Tactic: Privilege Escalation).

Windows Cloud Files Mini Filter Driver: драйвер с историей возвращающихся LPE-уязвимостей​

1784270701115.webp

cldflt.sys - kernel-mode minifilter, который обрабатывает операции с placeholder-файлами в OneDrive и других облачных провайдерах. Когда пользователь открывает файл из облака, cldflt.sys перехватывает запрос через FltRegisterFilter, инициирует гидратацию (скачивание содержимого) и управляет жизненным циклом placeholder.

А теперь - самое интересное. cldflt.sys загружен по умолчанию на большинстве установок Windows 11 из-за интеграции OneDrive. Драйвер режима ядра с привилегиями SYSTEM, доступный для взаимодействия из userland через Cloud Files API - CfRegisterSyncRoot, CfConnectSyncRoot, CfAbortHydration. Слабо документированный интерфейс, через который userland-процесс может дёргать kernel-mode компонент. Звучит как приглашение.

За последние два года в cldflt.sys нашли три отдельных вектора повышения привилегий Windows:

CVE / ИмяДатаCWECVSSПримитивСтатус
CVE-2020-171032020-12CWE-2697.0 HIGHRace condition, запись в реестрПатч регрессировал; MiniPlasma
CVE-2025-622212025-12CWE-4167.8 HIGHUse-after-freeCISA KEV; эксплуатировался в wild
BlueHammer2026-04Design flawN/ACloud Files callbacks + VSSНет CVE; нет патча

Три уязвимости, один драйвер, разные примитивы. Это паттерн, характерный для kernel-mode компонентов с высокой сложностью кода и дырявым coverage в security review. Если вы занимаетесь kernel research - cldflt.sys стоит держать в watchlist: каждый патч одного бага потенциально открывает регрессию в смежных code paths.

CVE-2020-17103: race condition и цепочка MiniPlasma exploit​

CVE-2020-17103 - Elevation of Privilege в cldflt.sys с CVSS 7.0 (HIGH), вектор CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H. Разберём по частям: AC:H (Attack Complexity: High) - race condition, надо попасть во временное окно. PR:L (Privileges Required: Low) - хватит обычного пользователя. UI:N - жертве не нужно ничего нажимать.

CWE-269 (Improper Privilege Management) описывает корень проблемы: рутина HsmOsBlockPlaceholderAccess внутри cldflt.sys не проверяет права при обработке placeholder-файлов, связанных с OneDrive. Через API CfAbortHydration атакующий заставляет драйвер создать произвольные ключи реестра в hive .DEFAULT.

Почему .DEFAULT = SYSTEM? Куст HKU\.DEFAULT в Windows маппится на контекст аккаунта SYSTEM. Запись произвольных ключей в этот hive позволяет влиять на поведение процессов, работающих от имени SYSTEM - от environment variables (Volatile Environment) до политик загрузки DLL.

Цепочка эксплуатации MiniPlasma:
  1. Эксплойт запускается от имени стандартного пользователя
  2. Регистрирует sync root через Cloud Files API (CfRegisterSyncRoot, CfConnectSyncRoot)
  3. Создаёт placeholder-файл в контролируемой директории
  4. Вызывает CfAbortHydration с параметрами, триггерящими HsmOsBlockPlaceholderAccess
  5. Два потока одновременно манипулируют состоянием placeholder и ключами реестра - race condition
  6. В момент, когда проверка прав пройдена, но запись ещё не выполнена, второй поток подменяет целевой путь на .DEFAULT
  7. Драйвер записывает ключ в .DEFAULT hive с привилегиями SYSTEM
  8. Через манипуляцию Volatile Environment или CloudFiles\BlockedApps - эскалация до SYSTEM shell
Оригинальный PoC Форшоу (PoC_AbortHydration_ArbitraryRegKey_EoP) отработал на актуальных билдах Windows 11 без модификаций. MiniPlasma - weaponized версия того же PoC, доработанная для порождения SYSTEM shell. Репозиторий CaptainChicky/MiniPlasma на GitHub (обновлён 2026-06-01).

По данным Fyntralink и ThreatLocker, BleepingComputer независимо подтвердил: после запуска MiniPlasma от имени стандартного пользователя на полностью обновлённой Windows 11 Pro открывается command prompt с привилегиями SYSTEM. Без UAC bypass, без дополнительных эксплойтов. Will Dormann, principal vulnerability analyst в Tharros, подтвердил работоспособность на Windows 11 включая 26H1.

Предусловия и ограничения техники​

Работает если:
  • Windows 11 (22H2, 23H2, 26H1) с обновлениями включая May 2026 Patch Tuesday
  • Windows Server 2022, Windows Server 2025 (по данным Rescana)
  • Драйвер cldflt.sys загружен (по умолчанию при наличии OneDrive)
  • Атакующий имеет локальное выполнение кода от имени low-priv пользователя
Не работает если:
  • Windows 11 Insider Preview Canary builds - по данным Will Dormann, эксплойт не срабатывает на Canary-сборках, что указывает на наличие фикса в preview-ветке
  • Windows 10 - ThreatLocker не подтвердил уязвимость на Windows 10 (хотя NVD указывает Windows 10 в affected для CVE-2020-17103; MiniPlasma тестировался преимущественно на Windows 11)
  • cldflt.sys отключён или выгружен (служба cldflt в Disabled)
  • Application allowlisting (WDAC/AppLocker) блокирует запуск - эксплойт не достигает уязвимого кода
Race condition = нестабильная надёжность. Это гонка между потоками. На загруженной системе временное окно сужается, на idle - расширяется. Success rate зависит от конфигурации конкретного хоста. ThreatLocker подтверждает работоспособность, но это не "нажал кнопку - получил SYSTEM" на каждой машине. Иногда нужно несколько попыток, иногда - десяток.

Семейство LPE-уязвимостей: CVE-2025-62221 и BlueHammer​

1784270739277.webp

CVE-2025-62221: use-after-free в том же драйвере​

За полгода до MiniPlasma, в декабре 2025, Microsoft запатчил CVE-2025-62221 - use-after-free (CWE-416) в Windows Cloud Files Mini Filter Driver. CVSS 7.8 (HIGH), вектор CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Обратите внимание: AC:L (Low Complexity) - в отличие от race condition CVE-2020-17103, UAF-примитив сильно проще в эксплуатации.

CVE-2025-62221 добавлен в CISA KEV 9 декабря 2025 года с крайним сроком патча 30 декабря. CISA SSVC Decision: Act - патчить немедленно. Exploitation status: active. Затронутые продукты: Windows 10 1809, Windows 10 21H2, Windows 10 22H2, Windows 11 23H2. KB-статьи: KB5071547, KB5071413, KB5071544.

Два разных класса уязвимостей ядра Windows (race condition vs use-after-free) в одном драйвере с интервалом в пять лет. Для тех, кто копает Windows kernel driver exploitation, - это сигнал: cldflt.sys - компонент с тяжёлыми IRP-обработчиками и явно недостаточным fuzzing coverage.

BlueHammer: Cloud Files API как design flaw​

3 апреля 2026 года Chaotic Eclipse опубликовал BlueHammer - Windows SYSTEM privilege escalation zero-day, который использует Cloud Files API совместно с Volume Shadow Copy Service и Microsoft Defender.

Вектор BlueHammer принципиально другой. Это не баг в конкретной рутине cldflt.sys, а design flaw во взаимодействии четырёх легитимных компонентов:
  1. Defender update workflow создаёт VSS-снимок
  2. Cloud Files callbacks (CfCallbackFetchPlaceHolders) дают атакующему программируемую паузу - callback не возвращает ответ, пока атакующий не разрешит
  3. Opportunistic locks (oplocks) держат Defender в заблокированном состоянии
  4. VSS-снимок остаётся смонтированным - SAM, SYSTEM, SECURITY hives доступны для чтения
По данным Cyderes (Howler Cell), BlueHammer воспроизведён end-to-end на пропатченных Windows 10 и 11 - low-priv user получает SYSTEM за менее чем минуту. Defender детектирует оригинальный PoC как Exploit:Win32/DfndrPEBluHmr.BB, но раз уязвимость в взаимодействии компонентов, модификация реализации обходит сигнатуру.

Регрессия патчей Windows kernel: почему старые баги возвращаются​

MiniPlasma - наглядная демонстрация того, что такое patch regression на практике. Патч для CVE-2020-17103 выпущен в декабре 2020 года (KB4592438, KB4592449 по данным MSRC). Организации отметили CVE как remediated в vulnerability management platforms. Compliance-отчёты показывали закрытый finding. Шесть лет - и уязвимость снова эксплуатируется.

Два сценария, оба обсуждаются исследователями:
  1. Неполный патч. Исправление закрыло конкретный code path, но не устранило корневую причину - отсутствие проверки прав в HsmOsBlockPlaceholderAccess. Рефакторинг драйвера в последующих билдах мог повторно открыть уязвимый путь.
  2. Откат при cumulative update. В процессе накопительных обновлений Microsoft мог непреднамеренно откатить изменения. Для kernel-mode компонентов с неполным regression test coverage - вполне реальная история.
Вывод для пентестера и vulnerability researcher один: сканирование на основе KB-номеров не гарантирует remediation. Cumulative update status и статус CVE в сканере - не доказательство отсутствия уязвимости. Нужна валидация через проверку конкретного exploit path. Сканер говорит "закрыто" - а PoC шестилетней давности отрабатывает.

То, что Insider Preview Canary builds не уязвимы, подтверждает: Microsoft знает о проблеме и включил исправление в preview-ветку. Но на момент публикации MiniPlasma (май 2026) production-релизы оставались уязвимыми. Microsoft заявил, что "расследует отчёт и примет меры для защиты клиентов" - стандартная формулировка без назначения нового CVE и без экстренного патча.

Детекция MiniPlasma: registry-мониторинг и поведенческие индикаторы​

MiniPlasma оставляет характерные следы. По данным ThreatLocker, эксплойт манипулирует двумя ветками реестра:
Код:
\Registry\User\Software\Policies\Microsoft\CloudFiles\BlockedApps*
\Registry\User\.DEFAULT\Volatile Environment*
Запись в любую из этих веток от non-SYSTEM процесса - сильный индикатор эксплуатации MiniPlasma или аналогичных LPE-техник через cldflt.sys.

Для SIEM: настройте алерты на Event ID 4657 (Registry Value Modified, при включённом Object Access Auditing) в HKU\.DEFAULT от процессов, работающих не под SYSTEM. Мониторьте порождение cmd.exe / powershell.exe с привилегиями SYSTEM из контекста стандартного пользователя (Event ID 4688 с TokenElevationType = Full Token).

ThreatLocker опубликовал Community Policy TL.REG.1747 для детекции создания реестрового ключа MiniPlasma с маппингом на MITRE ATT&CK TA0004 (Privilege Escalation).

Для EDR: подтвердите у вендора наличие detection content для cldflt.sys abuse patterns. Для Microsoft Defender for Endpoint, CrowdStrike Falcon и SentinelOne - запросите статус поддержки детекции CfAbortHydration из непривилегированных контекстов. Если вендор ещё не выпустил правила - пишите кастомные детекции на registry writes в .DEFAULT от процессов, не являющихся сервисами Windows.

Ограничение: registry-мониторинг - reactive detection. Он фиксирует факт эксплуатации, но не предотвращает её. Единственная proactive мера до выхода патча - блокировка запуска неавторизованных исполняемых файлов через WDAC или AppLocker (default-deny policy). ThreatLocker подтвердил: при включённой политике default-deny payload блокируется до достижения уязвимого кода.

Чеклист: снижение рисков до выхода патча​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Три уязвимости в одном драйвере за полтора года - не случайность, а архитектурная проблема. cldflt.sys писали для удобства облачной интеграции, а не для security-critical взаимодействия. Microsoft засунул kernel-mode компонент с широким API, доступным из userland, на каждую машину с OneDrive - то есть практически на каждую Windows 11.

Когда я разбирал IRP-обработчики minifilter-драйверов, похожие паттерны встречались регулярно: IOCTL-интерфейс, через который userland дёргает kernel-state, при недостаточной валидации входных данных в обработчике. CVE-2020-17103 (CWE-269, improper privilege management), CVE-2025-62221 (CWE-416, use-after-free), BlueHammer (design flaw в межкомпонентном взаимодействии) - три разных CWE, один драйвер. Дело не в конкретном баге, а в подходе к написанию и аудиту кода cldflt.sys.

Patch regression в CVE-2020-17103 только подтверждает: regression testing для kernel-mode компонентов Windows не покрывает exploit-relevant code paths. Организации, которые строят vulnerability management исключительно на scan-and-patch цикле с привязкой к KB-номерам, играют в русскую рулетку - сканер показывает зелёное, а шестилетний PoC отрабатывает.

Пока Microsoft не пересмотрит подход к security review minifilter-драйверов с облачными API (а публичных индикаторов этого нет), cldflt.sys остаётся в списке компонентов, которые стоит проверять при каждом крупном обновлении Windows - независимо от того, что показывает vulnerability scanner. Запустите sc qc cldflt на своих хостах. Если служба запущена, а OneDrive sync не нужен - выключайте. Это самое простое, что можно сделать прямо сейчас.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab