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.

Defectos críticos del cursor podrían permitir que la inyección rápida escape del sandbox y ejecute comandos – CYBERDEFENSA.MX

Dos fallas en Cursor, un editor de código de IA, podrían permitir que un único mensaje de apariencia ordinaria salga del entorno de pruebas de seguridad del editor y ejecute cualquier comando en la computadora de un desarrollador. No hay ningún clic del que enamorarse ni ningún cuadro de aprobación que ignorar.

Cato AI Labs encontró la pareja y les puso nombre tobogán de dunas. Se les rastrea como CVE-2026-50548 y CVE-2026-50549, ambos con una calificación de 9,8 sobre 10 (o 9,3 según la escala CVSS 4.0 más nueva).

La solución ya está disponible. Ambos errores se corrigen en Cursor 3.0, lanzado el 2 de abril, y todas las versiones anteriores a la 3.0 se ven afectadas. El creador de Cursor dice que más de la mitad de las empresas Fortune 500 usan la herramienta, así que si la ejecutas, actualízala ahora.

Para qué servía el arenero y cómo se rompió

A partir de la línea 2.x, Cursor ejecuta los comandos de terminal que su agente de IA emite dentro de una caja de arena de forma predeterminada: una caja cerrada que limita lo que esos comandos pueden tocar, por lo que una instrucción perdida no puede arruinar la máquina.

DuneSlide se trata de salir de esa caja. La forma de entrar es la inyección inmediata. El atacante nunca escribe en su cursor. Colocan instrucciones dentro de algo que su agente lee en su nombre, como un servicio conectado a través del Protocolo de contexto modelo (MCP) o una página devuelta por una búsqueda web.

Ciberseguridad

Usted hace una pregunta normal, las instrucciones ocultas aparecen durante el proceso y, como no necesita clic ni aprobación de su parte, el ataque es de «clic cero».

Ambas fallas usan el mismo truco: hacer que el agente escriba un archivo que no se le debe permitir escribir y luego usar esa escritura para desactivar la zona de pruebas.

  • CVE-2026-50548 Abusa de un entorno. El sandbox permite escrituras en la carpeta de trabajo de un comando, y esa carpeta es un parámetro opcional, directorio_de_trabajo, en la herramienta run_terminal_cmd de Cursor. Cuando el agente lo configura en una ruta no predeterminada, Cursor agrega esa ruta a la lista de escritura permitida sin lugar a dudas. Las instrucciones inyectadas apuntan a un archivo del sistema en lugar del proyecto. Sobrescriba el asistente de sandbox (en macOS, /Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox) y los comandos posteriores se ejecutarán sin ningún sandbox. Los archivos de inicio como ~/.zshrc también funcionan como objetivos.
  • CVE-2026-50549 abusa del control de seguridad. Antes de escribir, Cursor resuelve accesos directos (enlaces simbólicos) para confirmar que el destino real se encuentra dentro de su proyecto. El error es la alternativa: cuando esa verificación falla, porque el objetivo no existe o el atacante elimina el acceso de lectura de una carpeta en la ruta, Cursor se da por vencido y confía en la ruta del acceso directo dentro del proyecto. Un atacante crea un acceso directo que apunta fuera del proyecto, fuerza que la verificación falle y Cursor escribe directamente en el mismo asistente de sandbox. Mismo escape, diferente puerta.

Una vez que se neutraliza la zona de pruebas, el siguiente comando se ejecuta como usted. Eso significa control de la máquina del desarrollador, además de cualquier espacio de trabajo en la nube o SaaS en el que el editor haya iniciado sesión. Todo se deriva de un mensaje aparentemente inofensivo.

No hay señales de que esto haya sido utilizado en ataques reales. Cato lo presenta como una investigación, no como una campaña activa, y el registro público de vulnerabilidad no muestra ninguna explotación conocida en el momento de su publicación.

Cato informó ambos problemas el 19 de febrero. Según el relato de Cato, Cursor los rechazó cuatro días después, diciendo que su modelo de amenaza no cubría el uso indebido de los servidores MCP, ni siquiera los estándar como el espacio de trabajo oficial de Linear.

Catón se intensificó el 26 de febrero; Cursor reabrió los informes, los clasificó y envió ambas correcciones en 3.0. Los ID CVE se asignaron el 5 de junio.

Ciberseguridad

Cursor publicó el suyo consultivo para el error del enlace simbólico, y su registro NVD está en vivo.

No es el primero, y probablemente tampoco el último.

DuneSlide es el último de una serie de errores de cursor que comienzan con un mensaje envenenado y terminan con la ejecución de código, cada uno de los cuales supera una barrera de seguridad diferente. The Hacker News cubrió las rondas anteriores:

  • CurXecute (CVE-2025-54135, agosto de 2025) provenía del mismo equipo y entonces operaba como Aim Security. Un mensaje de Slack colocado reescribió la configuración ~/.cursor/mcp.json de Cursor y ejecutó comandos incluso después de que el usuario rechazó la edición. Corregido en 1.3.
  • MCPoison (CVE-2025-54136), de Check Point Research, permite a un atacante obtener una configuración de MCP aprobada una vez y luego intercambiar silenciosamente comandos maliciosos sin un segundo mensaje.
  • CVE-2026-26268 (febrero de 2026) escondió un gancho de Git con trampa explosiva en un repositorio que se activó en el momento en que el agente ejecutó un comando de Git. Parcheado en 2.5.

La zona de pruebas en la línea 2.x fue la respuesta de Cursor a esa ola anterior. DuneSlide se trata de escapar de la respuesta.

Cato dice que está revelando fallas similares en otros agentes de codificación y argumenta que el problema es estructural y no una serie de hechos puntuales.

Eso deja una pregunta abierta para cualquiera que envíe un agente que lea la web abierta: si tratar cada entrada como hostil se convierte en la opción predeterminada o sigue siendo una lucha parche por parche.

Google corrige CVSS 10 Gemini CLI CI RCE y fallas del cursor que permiten la ejecución de código – CYBERDEFENSA.MX

Google ha abordado una falla de seguridad de máxima gravedad en Gemini CLI: el paquete npm «@google/gemini-cli» y el flujo de trabajo de acciones GitHub «google-github-actions/run-gemini-cli», que podría haber permitido a los atacantes ejecutar comandos arbitrarios en sistemas host.

«La vulnerabilidad permitió a un atacante externo sin privilegios forzar la carga de su propio contenido malicioso como configuración Gemini», Novee Security dicho en un informe del miércoles. «Esto desencadenó la ejecución del comando directamente en el sistema host, evitando la seguridad incluso antes de que se inicializara el entorno limitado del agente».

La deficiencia, que no tiene un identificador CVE, tiene una puntuación CVSS de 10,0. Afecta a las siguientes versiones:

  • @google/gemini-cli <0.39.1
  • @google/gemini-cli < 0.40.0-preview.3
  • google-github-actions/run-gemini-cli <0.1.22

en su aviso publicado La semana pasada, Google dijo que el impacto se limita a los flujos de trabajo que utilizan Gemini CLI en modo sin cabeza, y agregó que cualquier uso de la herramienta en modo sin cabeza sin confianza en la carpeta requerirá una revisión manual para configurar este mecanismo de confianza.

«En versiones anteriores, Gemini CLI que se ejecuta en entornos CI (modo sin cabeza) confiaba automáticamente en las carpetas del espacio de trabajo con el fin de cargar la configuración y las variables de entorno», decía.

Ciberseguridad

«Esto es potencialmente riesgoso en situaciones en las que Gemini CLI se ejecuta en carpetas que no son de confianza en modo sin cabeza (por ejemplo, flujos de trabajo de CI que revisan las solicitudes de extracción enviadas por los usuarios). Si se usa con contenidos de directorios que no son de confianza, esto podría llevar a la ejecución remota de código a través de variables de entorno maliciosas en el directorio .gemini/ local».

Esta confianza automática de la carpeta del espacio de trabajo actual significaba que la herramienta podía cargar cualquier configuración de agente que encontrara sin revisión, espacio aislado o consentimiento explícito del usuario. Un atacante podría convertir este comportamiento en un arma al implementar una configuración especialmente diseñada que podría allanar el camino para la ejecución de código en el host que ejecuta el agente, convirtiendo efectivamente los canales de CI/CD en rutas de ataque a la cadena de suministro.

La actualización soluciona el problema al requerir que se confíe explícitamente en las carpetas antes de poder acceder a los archivos de configuración. Con ese fin, se insta a los usuarios a revisar sus flujos de trabajo y adoptar uno de dos enfoques:

  • Si el flujo de trabajo se ejecuta con entradas confiables (por ejemplo, revisar solicitudes de extracción de colaboradores confiables), configure GEMINI_TRUST_WORKSPACE: ‘true’ en el flujo de trabajo.
  • Si el flujo de trabajo se ejecuta en entradas que no son de confianza, revise la guía de Google en google-github-acciones/run-gemini-cli para reforzar el flujo de trabajo contra contenido malicioso y establecer la variable de entorno.

El gigante tecnológico también señaló que está tomando medidas para reforzar la lista de herramientas permitidas cuando Gemini CLI está configurado para ejecutarse en modo –yolo para evitar escenarios en los que entradas no confiables (por ejemplo, problemas de GitHub enviados por el usuario) podrían conducir a la ejecución remota de código mediante inyección rápida, aprovechando el hecho de que el modo de aprobación automática ignoraría cualquier lista de permitidos en «~/.gemini/settings.json» y ejecutaría todas las llamadas a herramientas automáticamente (incluido «run_shell_command») sin necesidad de usuario. confirmación.

«En la versión 0.39.1, el motor de políticas Gemini CLI ahora evalúa la lista de herramientas permitidas en el modo –yolo, lo cual es útil para los flujos de trabajo de CI que permiten incluir algunos comandos seguros para ejecutar cuando se procesan entradas que no son de confianza», dijo Google. «Como resultado, algunos flujos de trabajo que anteriormente dependían de este comportamiento pueden fallar silenciosamente a menos que se modifiquen las listas de herramientas permitidas para adaptarse a la tarea».

El error del cursor conduce a la ejecución del código

La divulgación se produce cuando Novee Security también destacó una vulnerabilidad de alta gravedad en la herramienta de desarrollo basada en IA Cursor anterior a la versión 2.5 (CVE-2026-26268, puntuación CVSS: 8.1) que también podría conducir a la ejecución de código arbitrario mediante una inyección rápida.

Cursor, en una alerta liberado en febrero de 2026, lo describió como un caso de escape de la zona de pruebas a través de configuraciones .git, lo que permite a un agente deshonesto configurar un repositorio simple («».git») con un archivo malicioso. gancho git eso se activa automáticamente cada vez que se ejecuta una operación de confirmación dentro del contexto del repositorio integrado sin requerir ninguna interacción del usuario.

El resultado final es la ejecución de código arbitrario aprobado automáticamente en la máquina de la víctima mediante la siguiente secuencia de acciones:

  • El usuario clona un repositorio público de GitHub con el repositorio básico integrado que contiene un enlace malicioso posterior al pago
  • El usuario abre el repositorio en CursorIDE
  • Los usuarios solicitan un mensaje inocuo para «explicar el código base»
  • El agente de cursor analiza el AGENTES.md que le indica que navegue hasta el repositorio básico y realiza un «git checkout» de la rama maestra
  • Se activa el gancho posterior al pago dentro del repositorio básico, lo que lleva a la ejecución del código.

«La causa raíz no es una falla en la lógica central del producto Cursor, sino más bien una consecuencia de una interacción de características en Git, una que se vuelve explotable en el momento en que un agente de IA comienza a ejecutar de forma autónoma operaciones de Git dentro de un repositorio que no controla», dijo el investigador de seguridad Assaf Levkovich. dicho.

Ciberseguridad

«Cuando el agente ejecuta git checkout como parte del cumplimiento de una solicitud de rutina, no está haciendo nada que el usuario no haya autorizado implícitamente. Pero ni el usuario ni el agente tienen visibilidad de lo que las reglas del cursor del repositorio han puesto en marcha. Un gancho malicioso de confirmación previa incrustado en un repositorio anidado se ejecuta silenciosamente, fuera de la cadena de razonamiento del agente y fuera del campo de visión del usuario».

Los hallazgos también coinciden con el descubrimiento de otra vulnerabilidad de control de acceso de alta gravedad en el IDE (puntuación CVSS: 8,2) que podría permitir que cualquier extensión instalada acceda a claves y credenciales API confidenciales almacenadas localmente en una base de datos SQLite, lo que permitiría la apropiación de cuentas, la exposición de datos y pérdidas financieras derivadas del uso no autorizado de API. El problema, con nombre en clave CursorJacking por LayerX, permanece sin parchear.

«Cursor no impone límites de control de acceso entre las extensiones y esta base de datos», dijo el investigador de LayerX Roy Paz. «La explotación de esta vulnerabilidad puede provocar la exposición de tokens de sesión y claves API, acceso no autorizado a los servicios backend de Cursor y robo de datos mediante la suplantación de usuarios».

Cursor ha sostenido que el acceso está limitado a la máquina local donde el usuario ya instaló y otorgó permisos a la extensión, lo que significa que cualquier extensión maliciosa con acceso al sistema de archivos local podría potencialmente extraer información valiosa de varios almacenes de datos de aplicaciones. Para contrarrestar la amenaza, es esencial que los usuarios se limiten a descargar extensiones confiables.