Fallo en el sandbox brig: un enlace simbólico en el proyecto expone directorios del host
Un aviso de septiembre de 2026 muestra cómo un agente de código aislado podía plantar un enlace simbólico que la herramienta seguía después en el host. Corregido en brig 0.3.0.
¿Qué es esto?
brig es una herramienta de código abierto escrita en Go que ejecuta agentes de programación con IA dentro de un sandbox, con un modo microVM de aislamiento por hardware, de modo que el agente solo vea el proyecto que se le asigna. El 26 de septiembre de 2026 los mantenedores publicaron el aviso GHSA-wp6x-29qx-fpr7, y Endor Labs describió el hallazgo en un artículo fechado el 28 de septiembre de 2026. El fallo es un recorrido por enlace simbólico en la forma en que brig monta el directorio del proyecto. Este artículo resume una investigación ya publicada y corregida; no describe un ataque nuevo.
Cómo funciona
brig validaba el montaje del espacio de trabajo, pero pasaba la ruta del proyecto al runtime de contenedores sin resolverla. El runtime la resolvía entonces en el host, fuera del sandbox. Como el agente tiene acceso de lectura y escritura al proyecto, puede sustituir un subdirectorio por un enlace simbólico que apunte a otro directorio del host. En ese momento no ocurre nada. El enlace solo importa cuando el operador ejecuta después brig sobre ese subdirectorio: el runtime, en el host, sigue el enlace y monta el destino con lectura y escritura dentro del sandbox.
Los autores lo clasifican como seguimiento de enlaces (CWE-59), con brig actuando como «confused deputy». Aclaran que no se trata de un escape del hipervisor ni del kernel invitado: las capas de aislamiento resistieron, pero el manejo de rutas entregó al sandbox algo que nunca debió recibir. En el resumen de ejecución, la fila del proyecto mostraba la ruta escrita por el usuario y no el directorio resuelto, por lo que la redirección era invisible para el operador.
Por qué importa
Las ubicaciones alcanzables dependen de los privilegios del usuario que ejecuta brig y pueden incluir claves SSH, credenciales de nube y otros proyectos. El aviso lo califica como grave (CVSS 8,2) porque cambia el alcance: un sandbox pensado para contener al agente llega a datos del host. También ilustra una tendencia de este otoño en las herramientas de agentes de código: la frontera de aislamiento es tan sólida como el código que la prepara, y los archivos que el agente puede escribir son entradas no confiables para ese código.
Defensas
- Actualice a brig 0.3.0. La corrección abre el proyecto componente a componente, rechaza enlaces simbólicos por debajo del primer directorio escribible por el usuario, verifica cada entrada abierta y muestra el directorio resuelto en el resumen de ejecución.
- Si no puede actualizar, resuelva la ruta completa del proyecto antes de ejecutar (por ejemplo con
pwd -P) y pase el directorio real. - Revise cada componente de la ruta, no solo el último; un enlace puede aparecer en cualquier nivel.
- Trate cualquier directorio en el que el sandbox pueda escribir como influido por un atacante cuando una herramienta privilegiada lo lea después.
- Ejecute los lanzadores de sandbox con un usuario dedicado de pocos privilegios para limitar la exposición ante un montaje erróneo.
- Mantenga las credenciales fuera de los directorios personales a los que un flujo aislado pudiera ser redirigido.
Status
| Elemento | Detalle |
|---|---|
| Producto | brig (github.com/brig-sh/brig) |
| Versiones afectadas | Anteriores a 0.3.0 |
| Corregido en | 0.3.0 |
| Aviso publicado | 26 de septiembre de 2026 (GHSA-wp6x-29qx-fpr7) |
| Artículo de investigación | 28 de septiembre de 2026 (Endor Labs) |
| Gravedad | Alta, puntuación CVSS 3.1 de 8,2 |
| CVE | Ninguno asignado en el momento del aviso |