Imagen ilustrativa generada con IA
RufRoot: la vulnerabilidad crítica (CVSS 10.0) en Ruflo que abre una shell remota sin autenticación
Analizamos RufRoot, una vulnerabilidad crítica (CVSS 10.0) en Ruflo que permite ejecución remota de comandos sin autenticación. Aprende a parchearla.
Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA
Introducción
El 30 de junio de 2026, los investigadores de Noma Labs (Noma Security) dieron a conocer una vulnerabilidad de máxima gravedad en el proyecto de código abierto Ruflo, una plataforma de orquestación multiagente muy extendida entre desarrolladores de IA (más de 66.500 estrellas en GitHub). Bautizada RufRoot y catalogada como CVE-2026-59726, la vulnerabilidad obtuvo una puntuación CVSS de 10.0 – la máxima posible – porque permite la ejecución remota de comandos arbitrarios en cualquier instancia alcanzable, sin necesidad de credenciales. El mantenedor publicó un parche correctivo en menos de 24 horas, pero todas las instalaciones con versión anterior a la 3.16.3 siguen expuestas al riesgo de compromiso total.
Análisis técnico
El núcleo del problema reside en la configuración predeterminada del bridge MCP (Model Context Protocol) incluida en los archivos Docker Compose de Ruflo. La imagen oficial exponía el puerto 3001/tcp en todas las interfaces de red (0.0.0.0), sin activar ningún mecanismo de autenticación. El bridge MCP actúa como punto de conexión para la invocación de las herramientas del agente: en Ruflo están disponibles 233 herramientas, incluyendo terminal_execute, que permite la ejecución directa de comandos shell dentro del contenedor.
Un atacante puede explotar la falla simplemente enviando una petición HTTP POST no autenticada al endpoint del bridge. El payload permite ejecutar cualquier comando en el contexto del contenedor, obteniendo de facto una shell interactiva. Dado que a menudo los contenedores se ejecutan con privilegios elevados o con acceso al host, el compromiso puede extenderse rápidamente a la infraestructura subyacente. El parche (versión 3.16.3) soluciona el problema en varios niveles: vincula el bridge MCP a la interfaz de loopback (127.0.0.1), introduce controles del lado del servidor sobre la herramienta terminal_execute y activa la autenticación para MongoDB.
Impacto
Las consecuencias para una instancia vulnerable son devastadoras y abarcan múltiples aspectos:
- Ejecución remota de comandos (RCE) – Una sola petición HTTP permite tomar el control total del contenedor y, en muchos escenarios, del nodo host.
- Robo de credenciales – Las claves API de los proveedores LLM (Anthropic, OpenAI, etc.) son legibles desde el interior del contenedor y quedan, por tanto, completamente expuestas.
- Envenenamiento del memory store de la IA – El atacante puede inyectar patrones maliciosos en la AgentDB, la base de datos de aprendizaje persistente de Ruflo, modificando de forma subrepticia las respuestas generadas por la IA para todos los usuarios futuros.
- Exfiltración de datos – Conversaciones, documentos y cualquier contenido almacenado en la plataforma se vuelven accesibles.
- Persistencia y backdoor – Es posible escribir payloads maliciosos en el directorio
/app, crear enjambres de agentes controlados por el atacante y mantener un acceso a largo plazo incluso tras un reinicio.
Mitigación
Para proteger el entorno es necesario actuar en varios frentes:
- Actualizar inmediatamente Ruflo a la versión 3.16.3 o posterior, donde el bridge MCP está confinado en local y la ejecución de comandos está sujeta a verificación.
- Bloquear a nivel de red los puertos 3001 y 27017 (MongoDB) mediante firewall o grupos de seguridad, para impedir el acceso directo desde el exterior.
- Rotar todas las claves API de los proveedores LLM utilizadas en la configuración, considerándolas comprometidas.
- Auditar la AgentDB para identificar entradas sospechosas en el pattern store y eliminar cualquier inyección.
- Inspeccionar MongoDB verificando la integridad de las colecciones y la presencia de modificaciones no autorizadas.
- Reconstruir los contenedores partiendo de una imagen limpia, eliminando así cualquier modificación persistente dejada por un posible atacante.
FAQ
1. ¿Qué es Ruflo y por qué es tan popular?
Ruflo (originalmente Claude Flow) es una plataforma de código abierto para la orquestación de agentes de IA, diseñada para simplificar flujos de trabajo complejos que integran modelos como Claude Code y OpenAI Codex. Con más de 66.500 estrellas en GitHub, se ha convertido en una herramienta de referencia para desarrolladores y empresas que desean automatizar tareas con LLM, tanto en entornos de prueba como en producción.
2. ¿Cómo puedo saber si mi instancia es vulnerable?
Si está ejecutando una versión de Ruflo inferior a la 3.16.3 y el puerto 3001 está expuesto en la red pública o en una red no confiable, la instancia es vulnerable. Un indicio práctico es que el bridge MCP responda a peticiones HTTP sin token de autenticación. Por precaución, no obstante, se recomienda encarecidamente actualizar y aplicar las mitigaciones sin esperar a realizar verificaciones invasivas.
3. Además de la actualización, ¿qué pasos son realmente urgentes?
Después de realizar la actualización, rote de inmediato todas las claves API de los proveedores LLM, ya que deben considerarse comprometidas. Bloquee el acceso de red a los puertos 3001 y 27017 e inspeccione la AgentDB en busca de comandos o patrones extraños. Finalmente, reconstruya los contenedores a partir de una imagen oficial limpia y revise MongoDB para asegurarse de que no se hayan introducido modificaciones maliciosas.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
- The Hacker News
- SecurityWeek
