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.

Los investigadores dicen que Claude por la falla de Chrome permite que las extensiones no autorizadas activen lecturas de Gmail – CYBERDEFENSA.MX

Cualquier otra extensión del navegador que pueda ejecutar un script en claude.ai aún puede activar tareas de Claude para Chrome dirigidas a su Gmail, su último documento de Google y sus comentarios, y su Calendario.

Tanto esto como ClaudeBleed necesitan una extensión maliciosa que ya pueda ejecutar un script en claude.ai; la diferencia es el alcance. Anthropic restringió el camino arbitrario en mayo como parte de su respuesta a la claude sangrar defecto, agrupar a las personas que llaman externamente en un conjunto fijo de tareas, pero Seguridad múltiple dice que la brecha aún está abierta en v1.0.80, la versión actual, ocho versiones después.

Si ejecuta Claude para Chrome y cualquier otra extensión que pueda tocar claude.ai, está dentro del alcance. En el modo predeterminado «preguntar antes de actuar», la tarea falsificada aún aparece en un cuadro de aprobación en el que debe hacer clic.

Si activó «Actuar sin preguntar», el modo de automatización sin intervención, se ejecuta sin ningún aviso. La medida más rápida es desactivar «Actuar sin preguntar» y revisar cualquier extensión con permiso para leer o cambiar datos en claude.ai. Eso restaura el paso de aprobación pero no elimina la ruta de clic falsificada y no hay parche a partir del 14 de julio.

The Hacker News descomprimió la versión actual y confirmó que ambos mecanismos permanecen en la versión 1.0.80.

El gatillo acepta un clic falsificado.

Después claude sangrarAnthropic dejó de permitir que la página le entregara a Claude cualquier texto que quisiera y encajonó a las personas que llamaban externas en nueve ID de tareas fijas integradas en el paquete de extensión.

Tres son indicaciones de práctica de incorporación, tres impulsan DoorDash, Salesforce y Zillow, y las últimas tres, usecase-gmail, usecase-gdocsy usecase-calendarson los que leen tu correo, tu último documento y sus comentarios, y tu calendario. La lista de permitidos es una mejora real. El paje ya no puede poner palabras en boca de Claude.

Ciberseguridad

El punto débil es lo que aprieta el gatillo. Un script de contenido en la extensión escucha en claude.ai un clic en un elemento específico (#claude-onboarding-button), lee su data-task-idy si el ID es una de las nueve tareas incluidas en la lista permitida, envía a la extensión un open_side_panel mensaje que lo lleva. El panel se abre con el mensaje coincidente cargado. Lo que el manejador nunca verifica es event.isTrustedla bandera del navegador que le indica a un usuario real que haga clic en uno de los scripts enviados.

Por lo tanto, cualquier extensión cuyo script de contenido pueda llegar al DOM en claude.ai puede crear el elemento, establecer el ID de la tarea y enviar un clic sintético. La extensión lo trata como un grifo genuino. Manifold demostró el disparador con seis líneas pegadas en la consola claude.ai, con isTrusted: false en los registros que confirman que se respetó el clic falso.

Con el control del navegador activado, el valor predeterminado una vez que finaliza la incorporación, ese clic falsificado carga el usecase-gmail tarea en el panel. En el modo predeterminado, todavía hay un cuadro de aprobación entre esa lectura y cualquier lectura real, y el usuario debe hacer clic en él. Manifold califica la falla CVSS como 7.7 Alta en ese modo y 9.6 Crítica una vez que un usuario ha habilitado «Actuar sin preguntar», donde la misma tarea se ejecuta silenciosamente.

La solución de una sola línea, dicen los investigadores, rechaza los clics sintéticos en la parte superior del controlador. No se ha enviado.

Un defecto más silencioso se encuentra debajo

El segundo problema no es ni remotamente abordable hoy en día, pero es lo que elimina el paso de aprobación si alguna vez otro defecto lo expone. Cuando el panel lateral de Claude se carga con ?skipPermissions=true en su URL, arranca directamente en skip_all_permission_checks y comienza a actuar sin preguntar.

Sin gesto, sin pantalla de consentimiento. Aparece una pancarta roja que advierte que Claude ahora puede realizar la mayoría de las acciones en línea, pero solo después de que la sesión privilegiada ya se esté ejecutando. La pancarta te cuenta lo que pasó. Eso no impide que esto suceda.

Por ahora, esa URL solo puede ser creada por la propia extensión, por lo que no existe una ruta remota directa. Un error futuro que permita que un contexto con menos privilegios establezca ese parámetro podría convertir el truco del clic falsificado en una lectura de cuenta completamente silenciosa. Esa ruta podría quedar expuesta por un controlador de mensajes que acepta URL, una regresión de creación de paneles o una falla XSS en la página de opciones. La solución de Manifold es dejar de leer el modo de permiso desde la URL e iniciar el panel en modo de solicitud cada vez.

Manifold asigna el ataque funcional al Top 10 de OWASP para aplicaciones LLM como inyección de aviso indirecto, ya que el atacante activa uno de los nueve avisos permitidos de la extensión con un clic falso y el riesgo de ejecución silenciosa es una agencia excesiva. Ambos reproducen si el panel lateral está configurado en Opus, Sonnet o Fable. El error está en la extensión, no en el modelo.

Reportado en mayo, todavía en el código de envío.

Manifold informó ambos problemas el 21 de mayo en la versión 1.0.72. Anthropic los reconoció al día siguiente y luego cerró ambos. Cerró el informe sobre el clic falsificado basándose en que el problema subyacente del límite de confianza ya había sido rastreado en el informe anterior de ClaudeBleed, que Antrópico dijo «permanece abierto en espera de una solución completa».

Ciberseguridad

Cerró el informe de URL como informativo, argumentando que la extensión solo establece el parámetro para tareas que el usuario ya le indicó que ejecutara sin supervisión.

Sin embargo, el informe interno destinado a cubrir esa solución se marcó como resuelto antes del 9 de junio, y ocho versiones después, el código vulnerable no se ha movido: Manifold verificó la versión 1.0.80 el 7 de julio y encontró que el controlador de clic del script de contenido y la inicialización del panel lateral byte por byte son idénticos a la versión 1.0.72 que informó por primera vez.

Anthropic no había publicado una respuesta pública a los hallazgos de Manifold hasta el 14 de julio, y si «resuelto» significa que todavía hay una solución por llegar o que el riesgo restante no la justifica, no es algo que nadie fuera de la empresa pueda decir.

El escaneo lo confirmó. The Hacker News sacó la versión 1.0.80 del Tienda web de Chromeactualizado el 7 de julio y disponible para todos los suscriptores pagos, lo descomprimió y revisó los 90 paquetes de JavaScript: el controlador de clics de incorporación se activa con cualquier clic coincidente sin event.isTrusted protector y en el panel lateral se lee skipPermissions desde su propia URL y cambia a skip_all_permission_checks cuando esté configurado.

A partir de esa fecha, no encontramos ningún CVE para ninguno de los problemas ni ningún aviso de Anthropic.

Nada de esto es nuevo para la extensión. Una falla separada parcheada a principios de este año permitía que cualquier sitio web le inyectara indicaciones silenciosamente, y ClaudeBleed comenzó de la misma manera a fines de abril, cuando LayerX descubrió que Claude para Chrome confiaba en el origen claude.ai en lugar de verificar qué script realmente estaba hablando con él, expulsó al asistente de una extensión de permiso cero y encontró que la primera mitigación de Anthropic estaba incompleta.

LayerX llamó a ClaudeBleed un problema de ayudante confundido, un programa con autoridad real que actúa para la persona que llama equivocada. Claude Code ha mostrado una versión del mismo error: un repositorio hostil podría filtrar las claves API de Anthropic de un desarrollador. Anthropic llama a la extensión. una betay está abierto a todos los suscriptores pagos de Claude.

Coloque un agente de IA en su navegador con sus cuentas ya iniciadas, y otra extensión que pueda alcanzarlo podrá impulsar las capacidades que expone Claude, dentro del conjunto de tareas fijas y cualquier modo de aprobación que haya establecido.

Ambos hallazgos debilitan el mismo límite: Claude acepta un clic generado por un script como su intención, y su estado de permiso se puede establecer desde una URL. Ocho lanzamientos después, ese límite sigue donde lo dejó Manifold en mayo.