Cabecera Penligente

CVE-2025-55680 PoC: Convirtiendo una condición de carrera de Windows Cloud Files en una escalada de privilegios en el mundo real

Cuando Microsoft lanza otra solución local de elevación de privilegios, es fácil tratarla como "una CVE más en el martes de parches". CVE-2025-55680 merece más atención que eso. Se trata de un Condición de carrera Tiempo de verificación Tiempo de uso (TOCTOU) en el Controlador del minifiltro de archivos en la nube de Windows (cldflt.sys) que permite a un usuario local con pocos privilegios crear archivos arbitrarios en ubicaciones sensibles y montarlos en SYSTEM.(NVD)

Para los defensores, se trata de un dato más en una larga historia de fallos relacionados con los archivos en la nube; para los equipos rojos y los desarrolladores de exploits, es un caso de estudio moderno sobre cómo las abstracciones de sincronización en la nube abren una superficie de ataque adyacente al núcleo. Dado que el pentesting asistido por IA se utiliza cada vez más para razonar sobre este tipo de fallos, CVE-2025-55680 es también un banco de pruebas natural para generación automática de PoC.

Este artículo repasa la mecánica de la vulnerabilidad, el modelo de explotación y las estrategias realistas de mitigación, y luego examina cómo herramientas basadas en IA como Penligente puede hacer que los equipos pasen de "tenemos un CVE" a "tenemos pruebas de que esto es (o no) explotable en nuestro entorno".

CVE-2025-55680 PoC

Contexto de CVE-2025-55680

Según NVD y el oficial CVE.org registro, CVE-2025-55680 es un Condición de carrera TOCTOU en Windows Cloud Files Mini Filter Driver que permite a un atacante local autenticado elevar privilegios. Lleva una puntuación base CVSS v3.1 en el rango alto (alrededor de 7.0-7.8 dependiendo de la autoridad de puntuación), con el vector típico:

AV:L / AC:(L o H) / PR:L / UI:N / S:U / C:H / I:H / A:H (NVD)

Proveedor de seguridad en la nube Wiz destaca algunos metahechos importantes:(wiz.io)

  • Afecta a varias versiones de Windows compatibles, tanto cliente como servidor.
  • Se clasifica como CWE-367 (Condición de carrera TOCTOU).
  • Ya está asociado con código de exploit público y se considera de "alto valor" porque ofrece SISTEMA en una pila de características muy común (OneDrive / Files On-Demand).

Múltiples avisos (Wiz, Tenable, H-ISAC) señalan que CVE-2025-55680 es otra entrada más en una línea de vulnerabilidades de Cloud Files Mini Filter que han aparecido desde 2022.(wiz.io) Para los equipos que mantienen grandes flotas de Windows o granjas VDI, esta familia de problemas debe tratarse ahora como una categoría de riesgo permanente, no como un error puntual.

Qué hace realmente el minifiltro de archivos en la nube

Para entender el fallo, hay que entender qué hace el conductor en primer lugar. El sitio Minifiltro de archivos en la nube (cldflt.sys) forma parte de la pila de sincronización en la nube de Windows. Es la base de funciones como Archivos de OneDrive a la cartadonde los archivos pueden existir localmente como "marcadores de posición" e hidratarse desde la nube cuando se accede a ellos.(Éxodo Inteligencia)

A un alto nivel:

  • Un proveedor de sincronización registra un raíz de sincronización vía CfRegisterSyncRoot en cldapi.dll.
  • Bajo esa raíz, los archivos pueden ser: totalmente hidratados, anclados o marcadores de posición que sólo se hidratan al ser utilizados.
  • API de modo usuario como CfCreatePlaceholders impulsan la creación de estas entradas de marcador de posición.
  • En el núcleo, cldflt.sys intercepta la E/S y gestiona estas operaciones, incluida la creación de archivos y directorios mediante FltCreateFileEx2.

La vulnerabilidad se encuentra justo en el camino donde nombres de archivo suministrados por el usuario para los marcadores de posición se validan y se convierten en verdaderas creaciones de archivos en modo kernel.

Causa raíz: Una carrera clásica de TOCTOU en una pila de sincronización moderna

Exodus Intelligence publicó un análisis técnico detallado de CVE-2025-55680, recorriendo cómo surge el bug dentro del HsmpOpCreatePlaceholders() función en cldflt.sys.(Éxodo Inteligencia)

En términos simplificados:

  1. El código de usuario invoca CfCreatePlaceholders() para crear uno o más archivos de marcadores de posición bajo una raíz de sincronización.
  2. En el controlador del filtro, HsmpOpCreatePlaceholders() recibe un control de E/S (IOCTL 0x903BC) con un búfer que incluye un campo de nombre de archivo relativo (relName).
  3. El conductor:
    • Sondas y asigna el búfer de usuario al espacio del núcleo (utilizando un MDL y MmMapLockedPagesSpecifyCache).
    • Itera a través de relName para garantizar que no contienen caracteres prohibidos como \\ o : (una mitigación introducida tras una CVE anterior).
  4. Si la validación se supera, el controlador prepara ATRIBUTOS_OBJETO y llama FltCreateFileEx2() para crear el archivo, utilizando el nombre de archivo validado y un manejador de directorio raíz derivado de la raíz de sincronización.

El fallo está en los pasos 3-4: hay un ventana de tiempo entre la validación de la memoria intermedia del usuario y su uso en FltCreateFileEx2()durante el cual el atacante puede modificar la misma memoria mapeada del modo usuario. Dado que las vistas del núcleo y del usuario comparten la página física, cualquier cambio en el búfer del usuario se refleja también en el puntero del núcleo.(Éxodo Inteligencia)

Expresada en pseudocódigo, la lógica es más o menos así:

// Pseudocódigo, simplificado para ilustrar
NTSTATUS HsmpOpCreatePlaceholders(USER_BUFFER* userBuf) {
    // Mapea el buffer de usuario al espacio del kernel
    KERNEL_VIEW* kview = MapUserBuffer(userBuf);

    WCHAR* relName = kview->relName;

    // 1. Validar nombre de fichero: rechazar caracteres '\\' y ':
    if (contains_forbidden_chars(relName)) {
        return STATUS_INVALID_PARAMETER;
    }

    // 2. Construir OBJECT_ATTRIBUTES con RootDirectory = sync root
    OBJECT_ATTRIBUTES oa = {0};
    oa.RootDirectory = SyncRootHandle;
    oa.ObjectName = relName; // sigue apuntando a memoria de usuario mapeada

    // 3. Crear el archivo
    return FltCreateFileEx2(..., &oa, IO_IGNORE_SHARE_ACCESS_CHECK, ...);
}

En TOCTOU está claro: contains_forbidden_chars(relName) lee la cadena una vez y decide que es seguro, pero no hay garantía de que relName sigue siendo la misma cadena en el momento FltCreateFileEx2() corre.

Corriendo cuidadosamente esa ventana, un atacante puede:

  • Pasa la validación con algo que parezca un nombre relativo benigno bajo la raíz de sincronización, por ejemplo JUSTASTRINGDnewfile.dlly luego
  • Da la vuelta a un carácter en el búfer asignado para que cuando se cree el archivo se convierta en JUSTASTRING\\newfile.dlldonde JUSTASTRING es una unión o enlace simbólico que apunta a un directorio privilegiado como C:WindowsSystem32.(Éxodo Inteligencia)

Debido a que la ruta de creación de archivos no aplica salvaguardas adicionales en torno a enlaces simbólicos o junction traversal, el controlador termina creando un archivo controlado por el atacante en una ubicación que no debería ser escribible por un usuario con pocos privilegios.

CVE-2025-55680 PoC: Convirtiendo una condición de carrera de Windows Cloud Files en una escalada de privilegios en el mundo real

Modelo de explotación: De la cáscara poco privada al sistema

Exodus y múltiples medios de comunicación esbozan un modelo de explotación que no es técnicamente trivial, pero sí muy realista para un atacante decidido o un equipo rojo:(Éxodo Inteligencia)

  1. Configuración del entorno
    • Registrar un directorio raíz de sincronización mediante CfRegisterSyncRoot.
    • Cree un directorio bajo esa raíz (por ejemplo JUSTASTRING) y conviértalo en un enlace a un directorio de destino de alto valor (p. ej. C:WindowsSystem32).
  2. Orquestación de carreras
    • Utiliza varios hilos para:
      • Emitir continuamente solicitudes de creación de marcadores de posición (CfCreatePlaceholders → IOCTL 0x903BC) con un nombre relativo "seguro".
      • Voltea continuamente un byte en el búfer de nombre de archivo mapeado para introducir o eliminar un \\ en el momento justo.
      • Controlar si el archivo de destino (p. ej. Sistema32\newfile.dll) ha aparecido.
  3. Escalada de privilegios mediante secuestro de DLL
    • Una vez que una DLL o ejecutable arbitrario ha sido colocado en un directorio privilegiado, utilice un vector conocido de carga lateral de DLL o de secuestro de servicios para obtener código que se ejecute con privilegios de SYSTEM.
  4. Limpieza
    • Elimine rastros como la unión y los archivos temporales para reducir los artefactos forenses.

Desde el punto de vista de un defensor, esto se traduce en una cadena de comportamientos observables más que en un único "evento de explotación". La siguiente tabla resume las etapas:

EscenarioGol del atacanteSeñales observables (ejemplos)
Sincronizar registro raízPreparar el contexto controlado de Cloud FilesCfRegisterSyncRoot uso, nuevas rutas raíz de sincronización
Creación de crucesPuente benigno al objetivo privilegiadoConexiones de los directorios de usuario a C:WindowsSystem32
Ejecución de la carreraWin TOCTOU para crear un archivo en el directorio del sistemaIOCTL de alta velocidad 0x903BC, actividad anormal en cldflt
Caída y secuestro de archivosObtener la ejecución de código a nivel de SISTEMANuevas DLL en System32, anomalías en la ruta de servicio/imagen

Ninguna de ellas es exótica para los modernos EDR o equipos DFIR, pero requieren correlación operaciones aparentemente inocuas (configuración de sincronización en la nube, empalmes, rotación de marcadores de posición) con la creación de una única DLL "rara".

Visión defensiva: Detección, endurecimiento y estrategia de parches

El primer paso obvio sigue siendo el más eficaz: aplicar las actualizaciones del martes de parches de octubre de 2025 de Microsoft que corrigen CVE-2025-55680.(Noticias sobre ciberseguridad)

Sin embargo, los parches por sí solos no responden a las cuestiones operativas que suelen preocupar a los ingenieros de seguridad:

  • ¿En qué parte de mi patrimonio podría haberse aprovechado este fallo antes de parchearlo?
  • ¿Qué sistemas siguen rezagados en cuanto a actualizaciones?
  • ¿Qué telemetría se dispararía realmente si alguien lo intentara?

Telemetría de host y EDR

Desde una perspectiva de punto final, vale la pena afinar la detección y cazar por ahí:

  • Comportamiento anormal de Cloud Files
    • Registros sync root raros o puntuales en servidores o estaciones de trabajo de gran valor.
    • Volumen IOCTL 0x903BC inesperado en sistemas que no son usuarios intensivos de OneDrive.(Noticias sobre ciberseguridad)
  • Abuso de enlaces y enlaces simbólicos
    • Uniones creadas a partir de rutas escritas por el usuario en directorios privilegiados (System32, Archivos de programa, etc.).
  • Creación sospechosa de archivos en directorios privilegiados
    • Nuevas DLL o ejecutables en System32 u otros directorios del sistema operativo con nombres no estándar o compilados recientemente.
    • Las correlaciones entre dichas creaciones y la actividad de alta frecuencia en cldflt.sys.

Correspondencia con MITRE ATT&CK, CVE-2025-55680 es un vehículo para conseguir técnicas como T1068 (Explotación para la Escalada de Privilegios) y luego pasar al secuestro de servicios o DLL para la persistencia.

Mitigación arquitectónica y política

Más allá de los parches y la detección, considere:

ControlarDescripciónNotas
Actualización del cumplimiento de la cadenciaAsegúrese de que las actualizaciones del martes de parches se distribuyen en cuestión de días, no de semanas.Especialmente para VDI / hosts multi-tenant.
Endurecimiento de OneDrive / Cloud FilesRestringir el uso de Files On-Demand en servidores de alto valor.No siempre es factible, pero es potente.
Modelo de estación de trabajo con menos privilegiosLimita quién puede instalar proveedores de sincronización o registrar raíces de sincronización.Reduce la superficie de ataque local.
Normas EDR para el abuso de empalmesAlerta sobre los cruces que apuntan a directorios del sistema operativo.También útil más allá de esta CVE.

H-ISAC y otros grupos del sector ya han publicado boletines sobre amenazas en los que señalan que Hay exploits PoC disponibles y fomentando la aplicación rápida de parches y la supervisión selectiva.(Asociación Americana de Hospitales)

Por qué CVE-2025-55680 es importante para el Pentesting basado en IA

CVE-2025-55680 también ilustra un punto de dolor más general: en el momento en que un equipo de seguridad se entera de una nueva escalada de privilegios de Cloud Files, a menudo, los PdC públicos no están disponibles, son incompletos o están deliberadamente redactados. Sin embargo, la pregunta difícil no es "¿existe el CVE?", sino:

"¿Puede un atacante utilizar de forma significativa CVE-2025-55680 en nuestro entorno, en nuestros endpoints, con nuestro EDR y hardening implementados?".

Responder a eso requiere:

  • Comprender la condiciones previas exactas (Archivos en la nube habilitados, uso de OneDrive, capacidades de creación de uniones).
  • Traducir el lenguaje consultivo en un intento concreto de explotación en un laboratorio controlado.
  • Captura de pruebas (registros, archivos creados, árboles de procesos) para probar el impacto o demostrar que los controles existentes lo bloquean.

Aquí es donde Herramientas de pentest asistidas por IA empieza a parecer menos una exageración y más una forma pragmática de cerrar el círculo entre la información sobre vulnerabilidades y el riesgo en el mundo real.

PoC Triage con un solo clic con Penligent CVE-2025-55680

PoC Triage con un solo clic gracias a Penligent

Plataformas como Penligente están diseñados para automatizar exactamente ese tipo de razonamiento. En el caso de un CVE como CVE-2025-55680, un flujo de trabajo típico basado en IA sería el siguiente:

  1. Ingesta de inteligencia estructurada
    • Tire de la NVD / CVE.org entrada, MSRC advisory, y análisis técnicos (Exodus, Wiz, CyberPress).(NVD)
    • Restricciones de extracción: autenticación local obligatoria, archivos en la nube activados, manipulación de rutas basada en cruces, race around HsmpOpCreatePlaceholders y FltCreateFileEx2.
  2. Adaptación al entorno de destino real
    • Identificar hosts Windows que ejecutan cldflt.sys con Archivos en la nube / OneDrive activado.
    • Comprueba si existen raíces de sincronización y políticas relevantes en esas máquinas.
  3. Sintetizar un escenario PoC controlado
    • Generar un esqueleto de lógica de explotación que registre una raíz de sincronización de prueba, establezca una unión benigna e intente una carrera de creación de archivos basada en marcadores de posición. sólo dentro de un entorno de laboratorio aislado.
    • Instruméntalo fuertemente con registros para que los defensores obtengan la máxima observabilidad en lugar de un exploit de caja negra.

Esto es lo que esqueleto no armado conceptualmente:

# Pseudocódigo: race harness (sólo para validación de laboratorio, no un exploit completo)
def run_lab_race(ruta_objetivo):
    shared = create_mapped_buffer(initial_name="SAFEPLACEHOLDER")
    stop_flag = False

    def creador_hilo():
        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(ruta_objetivo):
                log("[+] Carrera potencial ganada, archivo creado en", ruta_objetivo)
                stop_flag = True

    start_threads([creator_thread, flipper_thread, monitor_thread])

No se trata de enviar otro exploit de copiar y pegar, sino de dejar que el sistema razonar desde los consejos en lenguaje natural hasta la estructura del códigoy luego dejar que los operadores humanos decidan cómo y dónde ejecutarlo.

  1. Capturar pruebas y generar un informe
    • Si la carrera tiene éxito, Penligent puede cobrar automáticamente:
      • Artefactos del sistema de archivos (qué archivo se creó y dónde).
      • Eventos relevantes de Windows y trazas de ETW.
      • Una descripción del impacto y de las soluciones recomendadas.
    • Si falla en condiciones realistas, eso también es valioso: le indica que su parcheado y endurecimiento están haciendo su trabajo.

De la fuente CVE al impacto validado

En la actualidad, la mayoría de las organizaciones ingieren automáticamente fuentes de vulnerabilidades y boletines del martes de parches. La diferencia está entre listado de CVE y clasificarlos por explotabilidad validada en su entorno.

Combinando fuentes estructuradas como NVD y MSRC con profundos escritos técnicos como la investigación Cloud Files de Exodus, y luego dejando que un motor impulsado por IA orqueste el código y los experimentos, se puede:

  • Trate CVE-2025-55680 no sólo como una entrada en una hoja de cálculo, sino como un riesgo específico y probado en máquinas específicas.
  • Crear detecciones y cuadros de mando en torno a comportamiento de explotación observadono sólo especulaciones.
  • Reutilice el mismo procedimiento la próxima vez que el minifiltro de archivos en la nube (o cualquier otra pila similar adyacente al núcleo) aparezca en el martes de parches.

El objetivo de Penligent en este espacio es sencillo: convertir CVE como CVE-2025-55680 en respuestas concretas y respaldadas por pruebas. a "¿estamos realmente en riesgo y dónde?", sin esperar que cada ingeniero realice ingeniería inversa de los controladores del kernel y elabore PoCs desde cero.

Comparte el post:
Entradas relacionadas