Immagine illustrativa generata con AI
Vulnerabilità critica in AIT-GUI di NASA/JPL: comandi e script esposti senza autenticazione
Vulnerabilità critica in AIT-GUI NASA: server senza autenticazione, comandi e script esposti. Aggiornare a v2.5.2 per sicurezza.
Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA
La falla riguarda la console operativa AMMOS
Il 22 agosto 2026 è stata resa pubblica una vulnerabilità critica nella componente AIT-GUI dell’AMMOS Instrument Toolkit, framework open source sviluppato da NASA/JPL per le operazioni multi-missione.
AIT-GUI fornisce agli operatori una console accessibile dal browser. Attraverso questa interfaccia è possibile interagire con strumenti scientifici e veicoli spaziali, inviare comandi, eseguire sequenze e acquisire i dati restituiti dai sistemi controllati.
La vulnerabilità è identificata come GHSA-p9r8-2q67-fp86. Il problema ha severità Critical e un punteggio CVSS 9.4. La correzione è disponibile nella versione AIT-GUI 2.5.2.
Le versioni vulnerabili non sono state rese note in modo dettagliato. Le installazioni che non utilizzano la release corretta devono quindi essere considerate a rischio fino alla verifica dell’aggiornamento.
Server esposto su tutte le interfacce di rete
Secondo l’analisi di Cycode, AIT-GUI avvia un server HTTP senza autenticazione, autorizzazione, gestione delle sessioni o protezioni contro gli attacchi Cross-Site Request Forgery, noti come CSRF.
Il problema non riguarda soltanto l’assenza di un login. La configurazione dell’host viene letta dall’applicazione, ma non viene poi utilizzata per determinare l’indirizzo di ascolto del servizio. Il server effettua invece il binding su:
0.0.0.0
Questa impostazione rende il servizio raggiungibile attraverso tutte le interfacce di rete disponibili. Anche una configurazione come host: localhost, che dovrebbe limitare l’accesso al computer locale, non impedisce quindi l’esposizione verso la rete raggiungibile dall’istanza.
Un attaccante che riesca a raggiungere la porta del servizio può interagire direttamente con le route operative. Non serve necessariamente disporre di un account.
Gli endpoint consentono comandi, sequenze e script
Il punto più delicato è l’endpoint:
POST /cmd
Il valore contenuto nel campo command viene interpretato e inoltrato direttamente al bus dei comandi. Nel percorso descritto da Cycode non risultano autenticazione, validazione o controlli intermedi sufficienti a impedire l’invio di comandi arbitrari.
Sono esposti anche altri endpoint con funzioni operative:
POST /seq
POST /script/run
POST /scripts/load
Le route /seq e /script/run costruiscono i percorsi dei file concatenando input controllati dall’utente alla directory radice prevista dall’applicazione. Manca un confinamento coerente del percorso.
Un input come:
../../../../something
può quindi risolvere al di fuori della directory autorizzata. Questo introduce uno scenario di path traversal, con possibile accesso a file collocati in altre parti del filesystem oppure con l’esecuzione di script non previsti dall’operatore.
La codebase contiene già una logica corretta per impedire l’uscita dalla directory consentita. Tuttavia, secondo i ricercatori, il controllo è applicato alla route /scripts/load e non è stato riutilizzato in modo uniforme su /seq e /script/run.
Il rischio resta anche dietro un firewall
Un’installazione esposta può consentire a un attaccante di:
- inviare comandi arbitrari a strumenti o veicoli tramite
/cmd; - eseguire sequenze tramite
/seq; - avviare script lato server con
/script/run; - tentare di raggiungere file esterni alla directory prevista attraverso percorsi manipolati.
L’assenza di protezioni CSRF amplia ulteriormente il perimetro dell’attacco. Un operatore che utilizzi AIT-GUI dal proprio browser potrebbe visitare una pagina o seguire un link malevolo nello stesso ambiente.
La pagina ostile potrebbe indurre il browser a inviare richieste verso la console. In alcune condizioni, queste richieste possono partire senza una verifica preliminare con il servizio destinatario, aggirando di fatto l’aspettativa che una richiesta operativa debba essere generata dall’interfaccia legittima.
Per questo il firewall non costituisce una difesa sufficiente. Se il browser dell’operatore può raggiungere AIT-GUI e carica contenuti ostili, l’attacco può verificarsi anche senza un accesso diretto e interattivo dell’aggressore alla porta della console.
L’assenza di autenticazione rende inoltre difficile attribuire ogni comando a un utente preciso. Le installazioni esposte prima della correzione devono essere considerate potenzialmente compromesse, anche quando non emergano immediatamente errori visibili.
L’analisi ha prodotto prove di sfruttamento funzionanti
Cycode ha combinato analisi del codice assistita dall’intelligenza artificiale e verifica manuale. Gli strumenti automatizzati hanno cercato, tra gli altri elementi, route capaci di modificare lo stato senza autenticazione, dati delle richieste passati a subprocess senza sanitizzazione e configurazioni lette ma poi ignorate.
I ricercatori hanno successivamente riprodotto operativamente le anomalie individuate. L’attività ha portato alla realizzazione di proof-of-concept funzionanti, compresa una dimostrazione CSRF eseguita con un browser headless reale.
Durante questa prova sono stati registrati zero preflight di rete. Il dato mostra che lo scenario non dipende necessariamente da una preventiva autorizzazione del servizio esposto: il browser può trasmettere alcune richieste cross-origin senza effettuare il controllo preliminare normalmente associato alle richieste più restrittive.
Cycode considera confermate le vulnerabilità riprodotte in modo operativo, distinguendole dai risultati che emergono soltanto dall’analisi statica del codice.
Cosa devono fare gli amministratori
La misura principale è aggiornare immediatamente ogni installazione ad AIT-GUI 2.5.2. La semplice limitazione dell’accesso tramite firewall non dovrebbe essere considerata una soluzione definitiva.
Gli amministratori dovrebbero inoltre:
- verificare che la porta della console non sia raggiungibile da reti non attendibili;
- controllare i log relativi a comandi, sequenze e script eseguiti prima dell’aggiornamento;
- analizzare ogni istanza esposta come potenzialmente compromessa;
- aggiungere autenticazione e protezioni CSRF a
/cmd,/seqe/script/run; - assicurarsi che il server utilizzi realmente l’host configurato, invece di eseguire il binding su
0.0.0.0; - applicare a
/seqe/script/runla stessa logica di confinamento dei percorsi già presente in/scripts/load.
Non è noto se GHSA-p9r8-2q67-fp86 sia stata inserita nel catalogo KEV della CISA, né sono disponibili informazioni su eventuali scadenze operative fissate dall’agenzia. Non sono inoltre indicati precedenti recenti dello stesso vendor nel catalogo.
Fonti
Questo articolo è una rielaborazione originale basata sulle fonti seguenti.
