RufRoot: la vulnerabilità critica (CVSS 10.0) in Ruflo che apre una shell remota senza autenticazione
AI

Immagine illustrativa generata con AI

RufRoot: la vulnerabilità critica (CVSS 10.0) in Ruflo che apre una shell remota senza autenticazione

RufRoot (CVSS 10.0) in Ruflo permette l'esecuzione di comandi remoti senza credenziali. Scopri i dettagli tecnici e la patch nella versione 3.16.3.

Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA

Introduzione

Il 30 giugno 2026, i ricercatori di Noma Labs (Noma Security) hanno reso nota una falla di sicurezza di massima gravità nel progetto open source Ruflo, una piattaforma di orchestrazione multi-agente molto diffusa tra gli sviluppatori di AI (oltre 66.500 stelle su GitHub). Battezzata RufRoot e tracciata come CVE-2026-59726, la vulnerabilità ha ottenuto un punteggio CVSS di 10.0 – il massimo possibile – perché consente l’esecuzione di comandi arbitrari da remoto su qualsiasi istanza raggiungibile, senza richiedere credenziali. Il manutentore ha pubblicato una patch correttiva in meno di 24 ore, ma tutte le installazioni con versione precedente alla 3.16.3 restano esposte a rischio di compromissione totale.

Analisi tecnica

Il cuore del problema risiede nella configurazione predefinita del bridge MCP (Model Context Protocol) fornita con i file Docker Compose di Ruflo. L’immagine ufficiale esponeva la porta 3001/tcp su tutte le interfacce di rete (0.0.0.0), senza attivare alcun meccanismo di autenticazione. Il bridge MCP funge da punto di collegamento per l’invocazione degli strumenti dell’agente: in Ruflo sono disponibili ben 233 strumenti, tra cui terminal_execute, che permette l’esecuzione diretta di comandi shell all’interno del container.

Un attaccante può sfruttare la falla semplicemente inviando una richiesta HTTP POST non autenticata all’endpoint del bridge. Il payload consente di eseguire qualsiasi comando nel contesto del container, ottenendo di fatto una shell interattiva. Poiché spesso i container vengono eseguiti con privilegi elevati o con accesso all’host, la compromissione può estendersi rapidamente all’infrastruttura sottostante. La patch (versione 3.16.3) risolve il problema su più livelli: vincola il bridge MCP all’interfaccia di loopback (127.0.0.1), introduce controlli lato server sullo strumento terminal_execute e attiva l’autenticazione per MongoDB.

Impatto

Le conseguenze per un’istanza vulnerabile sono devastanti e riguardano molteplici aspetti:

  • Esecuzione arbitraria di comandi (RCE) – Una singola richiesta HTTP consente di prendere il pieno controllo del container e, in molti scenari, del nodo host.
  • Furto di credenziali – Le chiavi API dei provider LLM (Anthropic, OpenAI, ecc.) sono leggibili dall’interno del container e vengono quindi esposte integralmente.
  • Avvelenamento della memoria AI – L’attaccante può iniettare pattern malevoli nell’AgentDB, il database di apprendimento persistente di Ruflo, modificando in modo subdolo le risposte generate dall’IA per tutti gli utenti futuri.
  • Esfiltrazione di dati – Conversazioni, documenti e ogni contenuto conservato sulla piattaforma diventano accessibili.
  • Persistenza e backdoor – È possibile scrivere payload malevoli nella directory /app, creare sciami di agenti controllati dall’attaccante e mantenere un accesso a lungo termine anche dopo un riavvio.

Mitigazione

Per mettere in sicurezza l’ambiente è necessario intervenire su più fronti:

  1. Aggiornare immediatamente Ruflo alla versione 3.16.3 o successiva, dove il bridge MCP è confinato in locale e l’esecuzione comandi è sottoposta a verifica.
  2. Bloccare a livello di rete le porte 3001 e 27017 (MongoDB) tramite firewall o security group, per impedire l’accesso diretto dall’esterno.
  3. Ruotare tutte le chiavi API dei provider LLM utilizzate nella configurazione, considerandole compromesse.
  4. Audit dell’AgentDB per individuare voci sospette nel pattern store e rimuovere eventuali iniezioni.
  5. Ispezionare MongoDB verificando l’integrità delle collezioni e la presenza di modifiche non autorizzate.
  6. Ricostruire i container partendo da un’immagine pulita, eliminando così ogni modifica persistente lasciata da un eventuale attaccante.

FAQ

1. Cos’è Ruflo e perché è così diffuso?
Ruflo (originariamente Claude Flow) è una piattaforma open source per l’orchestrazione di agenti AI, progettata per semplificare flussi di lavoro complessi che integrano modelli come Claude Code e OpenAI Codex. Con oltre 66.500 stelle su GitHub, è diventata uno strumento di riferimento per sviluppatori e aziende che vogliono automatizzare compiti tramite LLM, sia in ambienti di test che in produzione.

2. Come posso sapere se la mia istanza è attaccabile?
Se stai eseguendo una versione di Ruflo inferiore alla 3.16.3 e la porta 3001 risulta esposta sulla rete pubblica o su una rete non fidata, l’istanza è vulnerabile. Un sintomo pratico è che il bridge MCP risponda a richieste HTTP senza token di autenticazione. Per precauzione, tuttavia, è fortemente consigliato aggiornare e applicare le mitigazioni senza aspettare verifiche invasive.

3. Oltre all’aggiornamento, quali sono i passi realmente urgenti?
Dopo aver eseguito l’upgrade, ruota immediatamente tutte le chiavi API dei provider LLM perché vanno considerate trafugate. Blocca l’accesso di rete alle porte 3001 e 27017 e ispeziona l’AgentDB per individuare comandi o pattern estranei. Infine, ricostruisci i container da un’immagine ufficiale pulita e controlla MongoDB per assicurarti che non siano state introdotte modifiche malevole.

Leggi anche

Fonti

Questo articolo è una rielaborazione originale basata sulle fonti seguenti.

CVE trattate in questo articolo

Argomenti correlatiRufRootRufloCVSS 10.0esecuzione codice remotoCVE-2026-59726sicurezza informatica
Torna alla home