Un fallo del cursor permite que repositorios clonados maliciosos activen la ejecución de código de Windows – CYBERDEFENSA.MX

Abra un repositorio en Cursor en Windows y, si hay un archivo llamado git.exe en la raíz del proyecto, Cursor lo ejecuta. Sin clic, sin cuadro de diálogo de aprobación, sin advertencia de que algo en la carpeta está a punto de ejecutarse.

Cualquier cosa que haga ese binario, lo hace como usted, con su fuente, sus claves SSH y sus tokens de nube. El cursor sigue ejecutándolo mientras el proyecto permanezca abierto.

Sin inyección rápida, sin agente, sin modelo en el bucle y sin acceso previo a la máquina: abrir la carpeta es todo el exploit y el resultado es la ejecución de código arbitrario como usuario que ha iniciado sesión.

La empresa de seguridad de inteligencia artificial Mindgard informó la falla a Cursor el 15 de diciembre de 2025 y Detalles técnicos completos publicados. el martes, siete meses después. Todavía no hay ningún parche y Cursor no ha publicado ningún aviso sobre el problema.

El mecanismo dura aproximadamente una frase. El cursor busca en varias ubicaciones un binario de Git cuando se carga un proyecto, y una de ellas es el propio espacio de trabajo. La salida de Process Monitor en el artículo muestra Cursor.exe generando el binario repo-root con la línea de comando git rev-parse –show-toplevel.

Esa es la misma sonda raíz del repositorio. Documentos de VS Code de Microsoft describir. Si Cursor busca esas ubicaciones por sí mismo o le entrega a Windows un git no calificado y deja que elija el orden de búsqueda, el artículo no lo dice.

Ciberseguridad

La prueba de concepto de Mindgard fue la Calculadora de Windows, renombrada como git.exe y comprometida con la raíz. Clonar, abrir y listo. La captura de pantalla muestra las ventanas de la Calculadora apilándose solas mientras el proyecto permanece abierto.

La condición previa parece la parte difícil: el binario de un atacante, ubicado en la raíz de su proyecto. No lo es. Clonar el repositorio de un extraño es la forma en que los archivos binarios llegan al disco, y los desarrolladores y sus agentes lo hacen todo el día. Para empezar, el atacante no necesita ningún punto de apoyo. Esa es la distancia que cubre este error: desde un repositorio, cualquiera puede publicar código que se ejecute como usted.

Un límite a la evidencia. La confirmación fechada más reciente de Mindgard es el 30 de abril de 2026, contra Cursor 3.2.16, y el la versión actual es 3.11enviado el 10 de julio. El artículo dice que el error sobrevive en la versión más reciente que probó, pero no nombra esa versión.

The Hacker News revisó los 33 avisos de seguridad El cursor ha publicado y no encontró ninguna entrada que cubra el tema hasta el 15 de julio. No se ha asignado ningún CVE. Le pedimos a Cursor que nombrara cualquier versión que lo solucione y a Mindgard, qué versión probó por última vez. Esta historia se actualizará con cualquier respuesta.

Qué hacer

No existe ningún parche, por lo que todas las opciones siguientes son una solución alternativa. En flotas de Windows administradas, Mindgard sugiere reglas de denegación de AppLocker o Windows App Control que bloquean el ejecutable por nombre y ruta en las raíces del espacio de trabajo, como %USERPROFILE%\source\repos\*\filename.exe.

Reglas de ruta, no hashes; Los binarios del atacante varían según el hash. Windows no tiene una regla general incorporada que bloquee un proceso secundario solo cuando un padre específico lo inicia, señala la firma, por lo que la aplicación de la ley a los padres generalmente significa EDR. Todos los demás: abran repositorios que no sean de confianza en una máquina virtual desechable o en un Sandbox de Windows.

Combínalo con El consejo de Cymulate para comprobar un repositorio clonado o un archivo extraído antes de abrirlo. git.exe, npx.exe, node.exe y Where.exe no tienen nada que ver con la raíz del proyecto. Lo que pasó con el informe es el resto de la historia.

cursores pagina de seguridad dice que la empresa reconoce «los informes de vulnerabilidad dentro de los 5 días hábiles». La primera respuesta sustancial de Mindgard llegó un mes después del informe de diciembre, del CISO de Cursor, quien explicó que una automatización no había logrado invitar a la empresa al programa privado HackerOne.

El informe reenviado se cerró al día siguiente por ser informativo y fuera de alcance, luego se reabrió una vez que Mindgard rechazó y HackerOne lo reprodujo. HackerOne confirmó la entrega el 20 de enero. Después de eso: solicitudes de actualización en febrero, marzo y abril, y nada a cambio.

El registro de asesoramiento de Cursor, leído en comparación con la línea de tiempo de Mindgard, muestra el proceso funcionando para otros investigadores mientras se publicaba el informe de Mindgard. El 13 de febrero de 2026, Cursor publicó GHSA-8pcm-8jpx-hv8run escape de zona de pruebas de Git-hook (CVE-2026-26268) reportado por Novee bajo divulgación coordinada y fijado en el Cursor 2.5. Tres días después, el 16 de febrero, Mindgard solicitó una actualización de su propio informe relacionado con Git. Ninguna respuesta. El 14 de julio, el día en que llegó la divulgación completa, se emitieron dos avisos más de Cursor.

«La divulgación completa es la opción nuclear de la divulgación de vulnerabilidades», escribió Mindgard, reservándola para los casos en los que todos los demás caminos han fracasado. El autor, Aarón Portnoypasó años al otro lado de ese oficio: dirigió la Iniciativa Día Cero y creó los primeros seis concursos Pwn2Own.

El mismo error, otros tres proveedores

Mindgard no es la primera empresa en encontrar esto, ni la primera en obtener la respuesta de Cursor al respecto. En junio, Cymulate publicó hallazgos sobre la misma clase en todas las herramientas de IA: en Windows, varias de estas herramientas resuelven ejecutables auxiliares utilizando el orden de búsqueda predeterminado, que verifica el directorio de trabajo antes que las rutas confiables del sistema.

GitHub Copilot CLI ejecutó un espacio de trabajo git.exe al inicio, incluso antes de que se mostrara el mensaje de confianza de carpeta. Gemini CLI hizo lo mismo cuando se inició desde el espacio de trabajo. La aplicación de escritorio Codex lo hizo en una carpeta abierta, como Cursor.

Ciberseguridad

Hasta el artículo de Cymulate del 4 de junio, ninguno de esos proveedores había enviado una solución. GitHub evaluó su informe y pagó una recompensa, luego lo bajó a nivel bajo. Google estuvo de acuerdo en que el hallazgo de Gemini CLI era válido y no lanzó ningún parche. OpenAI cerró el informe del Codex como No aplicable, razonando que un atacante que puede reemplazar git.exe ya tiene acceso al sistema. Ese no fue el escenario reportado. Cursor cerró el informe Cursor CLI de Cymulate como informativo ocho días después, con el argumento de que los hallazgos que requieren un binario malicioso «carecen de un vector de ataque».

Esa investigación produjo una solución. AWS asignado CVE-2026-10591 por su hallazgo de Kiro, le dio crédito a Cymulate y lo parcheó en Kiro 0.11. Pero ese fue un error diferente: una falla de escritura de archivos del agente que permitió que un archivo .vscode/tasks.json envenenado se ejecutara automáticamente en una carpeta abierta. Ninguno de los informes de plantación binaria había producido uno.

La clase es anterior a todo esto. Una ruta de búsqueda que no es de confianza es la debilidad; Plantar un binario donde la búsqueda lo encontrará es el ataque. Windows verificar el directorio actual antes que %PATH% es lo que rompió Git Credential Manager Core en 2020 (CVE-2020-26233): un git.exe malicioso en el nivel superior de un repositorio, se ejecuta en lugar del real durante una clonación recursiva. Corregido en GCM 2.0.289.

PoC de Blaze Information Security en aquel entonces también se cambió el nombre de calc.exe a git.exe. Seis años después, el mismo truco aterriza en un IDE que ejecuta la sonda por usted en el momento en que abre la carpeta.

A cuatro proveedores se les ha mostrado un binario de espacio de trabajo que se ejecuta solo en Windows tan pronto como un desarrollador apunta la herramienta a un repositorio clonado. Dos decidieron que no era una vulnerabilidad en absoluto; dos estuvieron de acuerdo en que así era y, según la cuenta de junio de Cymulate, no habían enviado nada de todos modos. Así que el llamado recae en los defensores, y en Windows, lo más seguro es tratar un repositorio clonado como contenido ejecutable, porque eso es lo que es.

La nueva falla del kernel de Linux de DirtyClone permite a los usuarios locales obtener root a través de paquetes clonados – CYBERDEFENSA.MX

clon sucio es una nueva escalada de privilegios del kernel de Linux en el Frag sucio familia. JFrog Security Research publicó un tutorial funcional para detectar la falla el 25 de junio, la primera demostración pública de esta variante.

Seguimiento como CVE-2026-43503 (CVSS 8.8), permite a un usuario local corromper la memoria respaldada por archivos a través de un paquete de red clonado y obtener raíz. El parche llegó a la línea principal el 21 de mayo; Si tu kernel no lo tiene, actualiza ahora.

Cuando el kernel copia un paquete de red internamente, dos funciones auxiliares colocan una bandera de seguridad que marca la memoria del paquete como compartida con un archivo en el disco. Esa bandera que falta es toda la vulnerabilidad.

El atacante carga un binario privilegiado como /usr/bin/su en la memoria, conecta esas páginas de memoria a un paquete de red y obliga al kernel a clonarlo. El paquete clonado pasa a través de un túnel IPsec que controla el atacante, y el paso de descifrado sobrescribe las comprobaciones de inicio de sesión del binario con bytes elegidos por el atacante. La próxima vez que alguien ejecute su, entregará root.

El archivo en el disco nunca cambia. La modificación se encuentra sólo en la copia en memoria del kernel, por lo que las herramientas de integridad de archivos no la detectan, el ataque no deja rastro de auditoría y un reinicio restaura el binario original. El atacante ya tiene root cuando a alguien se le ocurre comprobarlo.

La explotación requiere CAP_NET_ADMIN para configurar el túnel IPsec de bucle invertido. En Debian y Fedora, los espacios de nombres de usuarios sin privilegios están habilitados de forma predeterminada, por lo que un usuario local puede obtener esa capacidad dentro de un nuevo espacio de nombres.

Ciberseguridad

Ubuntu 24.04 y versiones posteriores restringen la creación de espacios de nombres a través de AppArmor, bloqueando la ruta de explotación predeterminada. La caché de página se comparte a nivel de host, por lo que las modificaciones realizadas dentro de un espacio de nombres afectan a todos los procesos de la máquina.

Los sistemas expuestos son servidores multiinquilino, ejecutores de CI, hosts de contenedores y clústeres de Kubernetes donde los usuarios que no son de confianza pueden crear espacios de nombres. JFrog confirmó el exploit en sistemas Debian, Ubuntu y Fedora con configuraciones de espacio de nombres predeterminadas.

Cuarto de una serie

Esta es la cuarta escalada de privilegios reciente con el mismo modo de falla: la memoria respaldada por archivos se trata como paquetes de datos, luego una operación de red local escribe donde debería haberse copiado.

  • Copy Fail (CVE-2026-31431) apareció por primera vez a finales de abril, explotando el módulo algif_aead para una escritura de caché de página de cuatro bytes.
  • DirtyFrag (CVE-2026-43284 y CVE-2026-43500) siguió el 7 de mayo, encadenando rutas IPsec ESP y RxRPC para una primitiva de escritura completa.
  • Fragnesia (CVE-2026-46300) apareció el 13 de mayo, evitando el parche DirtyFrag a través de un error que dejaba caer la bandera en skb_try_coalesce().

Cada solución cerró una ruta de código y dejó otras abiertas. El exploit demostrado por DirtyClone se centra en __pskb_copy_fclone(), y skb_shift() también se ve afectado; la solución CVE más amplia cubre ayudas de transferencia de fragmentos adicionales donde se podría perder la misma bandera.

El problema subyacente no es una mala función auxiliar. Es un problema de contrato: cada ruta de código que mueve fragmentos de skb tiene que preservar el bit de fragmento compartido en todo momento.

La red de copia cero del kernel permite que la memoria respaldada por archivos sirva como paquetes de datos, y una sola bandera colocada en cualquier parte de la cadena convierte una optimización del rendimiento en una primitiva de escritura. Cada variante encontró un camino en el que el contrato no se cumplió.

Ciberseguridad

El investigador original de DirtyFrag, Hyunwoo Kim, había presentado una visión más amplia. parche multisitio cubriendo varios asistentes de transferencia de fragmentos restantes el 16 de mayo. La solución combinada se fusionó el 21 de mayo (commit 48f6a5356a33), se le asignó CVE-2026-43503 el 23 de mayo y se envió en Linux v7.1-rc5 el 24 de mayo.

Qué hacer

Instale la actualización del kernel de su distribución. La solución llegó a la versión 7.1-rc5 y se ha compatible con las ramas estable y LTS. ubuntu, Debiany SUSE haber publicado avisos; Red Hat tiene una entrada de seguimiento de Bugzilla.

Si no puede parchear hoy, dos soluciones reducen la superficie de ataque. Restrinja los espacios de nombres de usuarios sin privilegios: en Debian y Ubuntu, establezca kernel.unprivileged_userns_clone=0 (otras distribuciones usan mecanismos diferentes).

Alternativamente, incluya en la lista negra los módulos del kernel esp4, esp6 y rxrpc, aunque eso interrumpe IPsec y AFS y solo funciona cuando esas características son módulos cargables en lugar de compilarse en el kernel. Ambos son controles temporales, no soluciones.

La clase DirtyFrag probablemente no esté terminada. Cualquier función que mueva descriptores de fragmentos sin propagar el indicador de fragmento compartido es un nuevo CVE potencial, y la auditoría debe cubrir todas las rutas que tocan skb_shinfo()->flags durante la transferencia de fragmentos.