Quando a Microsoft lança outra correção local de elevação de privilégio, é fácil tratá-la como "apenas mais uma CVE na Patch Tuesday". O CVE-2025-55680 merece mais atenção do que isso. Ele é um Condição de corrida de tempo de verificação e tempo de uso (TOCTOU) no Mini driver de filtro para arquivos de nuvem do Windows (cldflt.sys) que permite que um usuário local com poucos privilégios crie arquivos arbitrários em locais confidenciais e os envie para o SYSTEM.(NVD)
Para os defensores, esse é mais um ponto de dados em um longo histórico de bugs relacionados ao Cloud Files; para as equipes vermelhas e os desenvolvedores de exploits, é um estudo de caso moderno sobre como as abstrações de sincronização na nuvem abrem uma superfície de ataque adjacente ao kernel. Como o pentesting assistido por IA está sendo cada vez mais usado para raciocinar sobre esses bugs, o CVE-2025-55680 também é um teste natural para geração automatizada de PoC.
Este artigo apresenta a mecânica da vulnerabilidade, o modelo de exploração e as estratégias realistas de mitigação e, em seguida, analisa como as ferramentas orientadas por IA, como Penligente pode levar as equipes de "temos um CVE" para "temos provas de que isso é (ou não é) explorável em nosso ambiente".

Entendendo o CVE-2025-55680 no contexto
De acordo com NVD e o oficial CVE.org registro, o CVE-2025-55680 é um TOCTOU condição de corrida no Mini Filter Driver do Windows Cloud Files que permite que um invasor local autenticado eleve seus privilégios. Ele tem uma pontuação base CVSS v3.1 na faixa alta (em torno de 7,0-7,8, dependendo da autoridade de pontuação), com o vetor típico:
AV:L / AC:(L ou H) / PR:L / UI:N / S:U / C:H / I:H / A:H (NVD)
Fornecedor de segurança na nuvem Feiticeiro destaca alguns metafatos importantes:(wiz.io)
- Ele afeta várias versões compatíveis do Windows, tanto no cliente quanto no servidor.
- Ele é classificado como CWE-367 (condição de corrida TOCTOU).
- Ele já está associado ao código de exploração pública e é considerado de "alto valor" porque fornece o SYSTEM em uma pilha de recursos muito comum (OneDrive / Files On-Demand).
Vários alertas (Wiz, Tenable, H-ISAC) observam que o CVE-2025-55680 é mais uma entrada em uma linha de vulnerabilidades do Mini Filtro do Cloud Files que foram enviadas desde 2022.wiz.io) Para as equipes que mantêm grandes frotas de Windows ou farms de VDI, essa família de problemas deve agora ser tratada como uma categoria de risco permanente, e não como um bug isolado.
O que o Mini Filtro do Cloud Files realmente faz
Para entender o bug, você precisa entender o que o driver faz em primeiro lugar. O Mini filtro de arquivos de nuvem (cldflt.sys) faz parte da pilha de sincronização em nuvem do Windows. Ele é a base de recursos como Arquivos do OneDrive sob demandaonde os arquivos podem existir localmente como "marcadores de posição" e se hidratar a partir da nuvem quando acessados.Inteligência da Exodus)
Em um nível alto:
- Um provedor de sincronização registra um raiz de sincronização via
CfRegisterSyncRootemcldapi.dll. - Sob essa raiz, os arquivos podem ser: totalmente hidratados, fixados ou espaços reservados que só se hidratam quando são usados.
- APIs de modo de usuário, como
CfCreatePlaceholdersimpulsionam a criação dessas entradas de espaço reservado. - No núcleo,
cldflt.sysintercepta a E/S e gerencia essas operações, incluindo a criação de arquivos e diretórios viaFltCreateFileEx2.
A vulnerabilidade fica bem no caminho onde Nomes de arquivos fornecidos pelo usuário para espaços reservados são validados e transformados em criações reais de arquivos no modo kernel.
Causa raiz: Uma corrida TOCTOU clássica em uma pilha de sincronização moderna
A Exodus Intelligence publicou uma análise técnica detalhada do CVE-2025-55680, explicando como o bug surge dentro do HsmpOpCreatePlaceholders() função em cldflt.sys.(Inteligência da Exodus)
Em termos simplificados:
- O código do modo de usuário invoca
CfCreatePlaceholders()para criar um ou mais arquivos de espaço reservado em uma raiz de sincronização. - No driver do filtro,
HsmpOpCreatePlaceholders()recebe um controle de E/S (IOCTL 0x903BC) com um buffer que inclui um campo de nome de arquivo relativo (relName). - O motorista:
- Sondas e mapeia o buffer do usuário no espaço do kernel (usando um MDL e
MmMapLockedPagesSpecifyCache). - Itera através de
relNamepara garantir que isso aconteça não contêm caracteres proibidos, como\\ou:(uma atenuação introduzida após um CVE anterior).
- Sondas e mapeia o buffer do usuário no espaço do kernel (usando um MDL e
- Se a validação for aprovada, o driver preparará
ATRIBUTOS_DO_OBJETOe chamaFltCreateFileEx2()para criar o arquivo, usando o nome de arquivo validado e um identificador de diretório raiz derivado da raiz de sincronização.
O erro está nas etapas 3-4: há um janela de tempo entre validar o buffer do usuário e usá-lo em FltCreateFileEx2(), durante o qual o invasor pode modificar a mesma memória mapeada do modo de usuário. Como as visualizações do kernel e do usuário compartilham a página física, qualquer alteração no buffer do usuário também é refletida no ponteiro do kernel.Inteligência da Exodus)
Expressa em pseudocódigo, a lógica é mais ou menos assim:
// Pseudocódigo, simplificado para ilustração
NTSTATUS HsmpOpCreatePlaceholders(USER_BUFFER* userBuf) {
// Mapear o buffer do usuário no espaço do kernel
KERNEL_VIEW* kview = MapUserBuffer(userBuf);
WCHAR* relName = kview->relName;
// Validar nome de arquivo: rejeitar caracteres '\\' e ':'
Se (contains_forbidden_chars(relName)) {
return STATUS_INVALID_PARAMETER;
}
// Construa OBJECT_ATTRIBUTES com RootDirectory = sync root
OBJECT_ATTRIBUTES oa = {0};
oa.RootDirectory = SyncRootHandle;
oa.ObjectName = relName; // ainda apontando para a memória mapeada do usuário
// 3. criar o arquivo
return FltCreateFileEx2(..., &oa, IO_IGNORE_SHARE_ACCESS_CHECK, ...);
}
O TOCTOU é claro: contains_forbidden_chars(relName) lê a string uma vez e decide que é seguro, mas não há garantia de que relName permanece a mesma string no momento em que FltCreateFileEx2() corridas.
Ao correr cuidadosamente essa janela, um invasor pode:
- Passe a validação com algo que se pareça com um nome relativo benigno na raiz da sincronização, por exemplo
JUSTASTRINGDnewfile.dlle depois - Inverta um caractere no buffer mapeado para que, no momento em que o arquivo for criado, ele se torne
JUSTASTRING\\newfile.dll, ondeJUSTASTRINGé uma junção ou link simbólico que aponta para um diretório privilegiado, comoC:\\Windows\\System32.(Inteligência da Exodus)
Como o caminho de criação de arquivo não impõe proteções adicionais em relação a links simbólicos ou passagem de junção, o driver acaba criando um arquivo controlado pelo invasor em um local que não deveria ser gravável por um usuário com pouco privilégio.

Modelo de exploração: Do shell de baixa privacidade ao sistema
A Exodus e várias agências de notícias descrevem um modelo de exploração que é tecnicamente não trivial, mas muito realista para um atacante determinado ou uma equipe vermelha:(Inteligência da Exodus)
- Configuração do ambiente
- Registre um diretório raiz de sincronização usando
CfRegisterSyncRoot. - Crie um diretório sob essa raiz (por exemplo
JUSTASTRING) e torná-lo uma junção para um diretório de destino de alto valor (por exemploC:\\Windows\\System32).
- Registre um diretório raiz de sincronização usando
- Orquestração de corridas
- Use vários segmentos para:
- Emitir continuamente solicitações de criação de placeholder (
CfCreatePlaceholders→ IOCTL 0x903BC) com um nome relativo "seguro". - Inverta continuamente um byte no buffer de nome de arquivo mapeado para introduzir ou remover um
\\no momento certo. - Monitorar se o arquivo de destino (por exemplo
System32\\newfile.dll) apareceu.
- Emitir continuamente solicitações de criação de placeholder (
- Use vários segmentos para:
- Escalonamento de privilégios por meio de sequestro de DLL
- Depois que uma DLL ou um executável arbitrário for colocado em um diretório com privilégios, use um vetor conhecido de sideload de DLL ou de sequestro de serviço para obter um código em execução com privilégios SYSTEM.
- Limpeza
- Remova rastros, como a junção e os arquivos temporários, para reduzir os artefatos forenses.
Do ponto de vista de um defensor, isso se traduz em uma cadeia de comportamentos observáveis em vez de um único "evento de exploração". A tabela a seguir resume os estágios:
| Estágio | Gol do atacante | Sinais observáveis (exemplos) |
|---|---|---|
| Sincronização do registro raiz | Preparar o contexto controlado dos arquivos de nuvem | CfRegisterSyncRoot uso, novos caminhos de raiz de sincronização |
| Criação de junções | Ponte do caminho benigno para o alvo privilegiado | Junções de diretórios de usuário para C:\\Windows\\System32 |
| Execução da corrida | Win TOCTOU para criar um arquivo no diretório do sistema | IOCTL de alta taxa 0x903BC, atividade anormal em cldflt |
| Queda e sequestro de arquivos | Obter execução de código em nível de SISTEMA | Novas DLLs no System32, anomalias no caminho do serviço/imagem |
Nenhum desses itens é exótico para as equipes modernas de EDRs ou DFIR, mas eles exigem correlacionando operações aparentemente inócuas (configuração de sincronização de nuvem, junções, mudança de espaço reservado) com a criação de uma única DLL "estranha".
Visão defensiva: Detecção, proteção e estratégia de patches
A primeira etapa óbvia ainda é a mais eficaz: apply Microsoft’s October 2025 Patch Tuesday updates that remediate CVE-2025-55680.(Cyber Security News)
However, patching alone does not answer the operational questions security engineers usually care about:
- Where in my estate could this bug have been exploited before patching?
- Which systems are still lagging behind on updates?
- What telemetry would actually fire if someone tried it?
Host and EDR Telemetry
From an endpoint perspective, it is worth tuning detection and hunting around:
- Abnormal Cloud Files behavior
- Rare or one-off sync root registrations on servers or high-value workstations.
- Unexpected IOCTL 0x903BC volume on systems that are not heavy OneDrive users.(Cyber Security News)
- Junction and symlink abuse
- Junctions created from user-writable paths into privileged directories (System32, Program Files, etc.).
- Suspicious file creation in privileged directories
- New DLLs or executables in System32 or other OS directories with non-standard names or compiled recently.
- Correlations between such creations and high-frequency activity in
cldflt.sys.
Mapping this to MITRE ATT&CK, CVE-2025-55680 is a vehicle to achieve techniques like T1068 (Exploitation for Privilege Escalation) and then pivot into service or DLL hijacking for persistence.
Architectural and Policy Mitigations
Beyond patching and detection, consider:
| Control | Descrição | Notas |
|---|---|---|
| Update cadence enforcement | Ensure Patch Tuesday updates are rolled out within days, not weeks. | Especially for VDI / multi-tenant hosts. |
| OneDrive / Cloud Files hardening | Restrict use of Files On-Demand on high-value servers. | Not always feasible, but powerful. |
| Least-privilege workstation model | Limit who can install sync providers or register sync roots. | Reduces local attack surface. |
| EDR rules for junction abuse | Alert on junctions pointing into OS directories. | Also useful beyond this CVE. |
H-ISAC and other industry groups have already published threat bulletins pointing out that PoC exploits are available and encouraging rapid patching and targeted monitoring.(American Hospital Association)
Why CVE-2025-55680 Matters for AI-Powered Pentesting
CVE-2025-55680 also illustrates a more general pain point: by the time a security team hears about a fresh Cloud Files privilege escalation, public PoCs are often either unavailable, incomplete, or deliberately redacted. Yet the hard question is not “does the CVE exist” but:
“Can an attacker meaningfully use CVE-2025-55680 in our environment, on our endpoints, with our EDR and hardening in place?”
Answering that requires:
- Understanding the exact preconditions (Cloud Files enabled, OneDrive usage, junction creation capabilities).
- Translating advisory language into a concrete exploitation attempt in a controlled lab.
- Capturing evidence (logs, created files, process trees) to prove impact or demonstrate that existing controls block it.
É aqui que AI-assisted pentest tooling starts to look less like hype and more like a pragmatic way to close the loop between vulnerability feeds and real-world risk.

One-Click PoC Triage with Penligent
Platforms like Penligente are designed to automate exactly that kind of reasoning. For a CVE such as CVE-2025-55680, a typical AI-driven workflow looks like:
- Ingest structured intelligence
- Map to the actual target environment
- Identify Windows hosts that run
cldflt.syswith Cloud Files / OneDrive enabled. - Check whether sync roots and relevant policies exist on those machines.
- Identify Windows hosts that run
- Synthesize a controlled PoC scenario
- Generate skeleton exploit logic that registers a test sync root, sets up a benign junction, and attempts a placeholder-based file creation race only inside an isolated lab environment.
- Instrument it heavily with logging so defenders get maximum observability rather than a black-box exploit.
Here is what such a non-weaponized skeleton might look like conceptually:
# Pseudocode: race harness (for lab validation only, not a full exploit)
def run_lab_race(target_path):
shared = create_mapped_buffer(initial_name="SAFEPLACEHOLDER")
stop_flag = False
def creator_thread():
while not stop_flag:
issue_placeholder_ioctl(shared)
def flipper_thread():
while not stop_flag:
flip_buffer_byte(shared)
tiny_sleep()
def monitor_thread():
while not stop_flag:
if privileged_file_exists(target_path):
log("[+] Potential race won, file created at", target_path)
stop_flag = True
start_threads([creator_thread, flipper_thread, monitor_thread])
The point is not to ship another copy-paste exploit, but to let the system reason from natural-language advisories to code structure, then let human operators decide how and where to run it.
- Capture evidence and generate a report
- If the race succeeds, Penligent can automatically collect:
- File system artifacts (which file was created where).
- Relevant Windows events and ETW traces.
- A narrative explaining impact and recommended remediations.
- If it fails under realistic conditions, that is also valuable: it tells you that your patching and hardening are doing their job.
- If the race succeeds, Penligent can automatically collect:
From CVE Feed to Validated Impact
Most organizations now ingest vulnerability feeds and Patch Tuesday bulletins automatically. The gap is between listing CVEs e ranking them by validated exploitability in your environment.
By combining structured sources like NVD and MSRC with deep technical write-ups such as Exodus’ Cloud Files research, and then letting an AI-driven engine orchestrate the code and experiments, you can:
- Treat CVE-2025-55680 not just as an entry in a spreadsheet, but as a specific, tested risk on specific machines.
- Build detections and dashboards around observed exploit behavior, not just speculation.
- Reuse the same pipeline the next time the Cloud Files Mini Filter (or any similar kernel-adjacent stack) shows up in Patch Tuesday.
Penligent’s goal in this space is simple: turn CVEs like CVE-2025-55680 into concrete, evidence-backed answers para "estamos realmente em risco e onde?", sem esperar que cada engenheiro faça engenharia reversa dos drivers do kernel e crie PoCs do zero.

