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 - использование извлечённых билетов для перемещения по сети
MITRE ATT&CK: T1068 - Exploitation for Privilege Escalation (Tactic: Privilege Escalation).
Windows Cloud Files Mini Filter Driver: драйвер с историей возвращающихся LPE-уязвимостей
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 / Имя | Дата | CWE | CVSS | Примитив | Статус |
|---|---|---|---|---|---|
| CVE-2020-17103 | 2020-12 | CWE-269 | 7.0 HIGH | Race condition, запись в реестр | Патч регрессировал; MiniPlasma |
| CVE-2025-62221 | 2025-12 | CWE-416 | 7.8 HIGH | Use-after-free | CISA KEV; эксплуатировался в wild |
| BlueHammer | 2026-04 | Design flaw | N/A | Cloud 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:
- Эксплойт запускается от имени стандартного пользователя
- Регистрирует sync root через Cloud Files API (
CfRegisterSyncRoot,CfConnectSyncRoot) - Создаёт placeholder-файл в контролируемой директории
- Вызывает
CfAbortHydrationс параметрами, триггерящимиHsmOsBlockPlaceholderAccess - Два потока одновременно манипулируют состоянием placeholder и ключами реестра - race condition
- В момент, когда проверка прав пройдена, но запись ещё не выполнена, второй поток подменяет целевой путь на
.DEFAULT - Драйвер записывает ключ в
.DEFAULThive с привилегиями SYSTEM - Через манипуляцию
Volatile EnvironmentилиCloudFiles\BlockedApps- эскалация до SYSTEM shell
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) блокирует запуск - эксплойт не достигает уязвимого кода
Семейство LPE-уязвимостей: CVE-2025-62221 и BlueHammer
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 во взаимодействии четырёх легитимных компонентов:
- Defender update workflow создаёт VSS-снимок
- Cloud Files callbacks (
CfCallbackFetchPlaceHolders) дают атакующему программируемую паузу - callback не возвращает ответ, пока атакующий не разрешит - Opportunistic locks (oplocks) держат Defender в заблокированном состоянии
- VSS-снимок остаётся смонтированным - SAM, SYSTEM, SECURITY hives доступны для чтения
Exploit:Win32/DfndrPEBluHmr.BB, но раз уязвимость в взаимодействии компонентов, модификация реализации обходит сигнатуру.Регрессия патчей Windows kernel: почему старые баги возвращаются
MiniPlasma - наглядная демонстрация того, что такое patch regression на практике. Патч для CVE-2020-17103 выпущен в декабре 2020 года (KB4592438, KB4592449 по данным MSRC). Организации отметили CVE как remediated в vulnerability management platforms. Compliance-отчёты показывали закрытый finding. Шесть лет - и уязвимость снова эксплуатируется.Два сценария, оба обсуждаются исследователями:
- Неполный патч. Исправление закрыло конкретный code path, но не устранило корневую причину - отсутствие проверки прав в
HsmOsBlockPlaceholderAccess. Рефакторинг драйвера в последующих билдах мог повторно открыть уязвимый путь. - Откат при cumulative update. В процессе накопительных обновлений Microsoft мог непреднамеренно откатить изменения. Для kernel-mode компонентов с неполным regression test coverage - вполне реальная история.
То, что 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*
Для 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 не нужен - выключайте. Это самое простое, что можно сделать прямо сейчас.
Последнее редактирование модератором: