Vulnerabilidad en AWS Kiro Permite Ejecución Remota de Código

Publicado el

Introducción

Una reciente vulnerabilidad en AWS Kiro, el IDE de codificación de la compañía, ha sido identificada por Intezer y Kodem Security. Esta falla permitió que una página web manipulada reescribiera la configuración del sistema y ejecutara código en la máquina de un desarrollador sin necesidad de aprobación previa.

Detalles de la Vulnerabilidad

El problema radica en que Kiro, que se basa en que un usuario haga clic en "permitir" para realizar acciones arriesgadas, no pudo interceptar una solicitud aparentemente inocente. Un simple pedido para resumir una página podía resultar en ejecución remota de código. La configuración de Kiro se encuentra en un archivo específico, `~/.kiro/settings/mcp.json`, que determina qué herramientas externas cargar. Si este archivo se modificaba, Kiro lo recargaba automáticamente y ejecutaba los comandos descritos en su interior, utilizando los privilegios del desarrollador.

En la investigación, se demostró que Kiro podía escribir en `mcp.json` sin ninguna aprobación, lo que significa que cualquier persona que pudiera influir en su contenido podría registrar un servidor con un comando de inicio arbitrario. Este código se ejecutaría inmediatamente al recargar la configuración.

La Prueba de Concepto

Intezer realizó una prueba de concepto en la que insertó instrucciones en un texto invisiblemente pequeño en una página de documentación API. Cuando un desarrollador solicitaba esa página, Kiro interpretaba el bloque oculto como una tarea de configuración, escribía el servidor malicioso en `mcp.json` y lo recargaba automáticamente. A los pocos segundos, el servidor malicioso se activaba y comenzaba a ejecutar el código del atacante.

La carga útil del ataque solo enviaba datos básicos como el nombre de host y el nombre de usuario a un servidor controlado por el atacante, lo que demostraba que la ejecución había tenido lugar.

Respuesta de AWS

AWS ha respondido a esta vulnerabilidad lanzando una actualización que corrige el problema. Sin embargo, no se ha asignado un CVE para esta vulnerabilidad. En versiones anteriores, se habían presentado problemas similares que permitían escribir en archivos de configuración y ejecutar código malicioso. AWS introdujo una ventana de aprobación solo en modo supervisado, pero el modo predeterminado, Autopilot, continuó permitiendo la escritura automática en los archivos.

La reciente actualización, Kiro 0.11.130, ha implementado medidas de protección más estrictas. Ahora, los archivos sensibles, como `mcp.json` y `.vscode/tasks.json`, requieren aprobación explícita antes de que cualquier escritura se lleve a cabo. Esto significa que el modelo de seguridad de Kiro ha sido revisado, marcando estos archivos como rutas protegidas.

Conclusión

La vulnerabilidad en AWS Kiro subraya la importancia de revisar y validar los mecanismos de seguridad en las herramientas de desarrollo. La rápida respuesta de AWS y las correcciones implementadas son pasos necesarios para mitigar riesgos, aunque la falta de un CVE asignado genera inquietudes sobre la transparencia en la gestión de vulnerabilidades. Intezer ha confirmado que el ataque ya no funciona en la última versión, lo que indica que la actualización ha sido efectiva.

Los desarrolladores deben ser conscientes de estas cuestiones de seguridad y mantenerse informados sobre las actualizaciones de sus herramientas para proteger sus entornos de desarrollo.

Fuente

Ver noticia original