MITRE Caldera è una piattaforma di emulazione degli avversari i cui agenti – in particolare Sandcat e Manx – vengono compilati dinamicamente al momento del download. Tutte le versioni di Caldera rilasciate prima del commit 35bc06e (fino alle versioni più datate) sono vulnerabili.
Questa vulnerabilità diventa sfruttabile quando il sistema target ha installati Go, Python e gcc – dipendenze generalmente richieste per il pieno funzionamento di Caldera. In molte distribuzioni, l’installazione di Go comporta anche l’installazione di gcc, aumentando ulteriormente l’esposizione.
| Prodotto | Caldera Framework |
| Data | 2025-03-10 14:47:04 |
| Informazioni | Trending, Fix Available |
Riassunto tecnico
La vulnerabilità risiede nella funzionalità di compilazione dinamica utilizzata dagli agenti di Caldera. Quando viene richiesto un agente, il server compila dinamicamente un binario personalizzato iniettando parametri controllabili dall’utente (come metodi di comunicazione, chiavi di cifratura e indirizzi di callback) all’interno dei flag del linker. Il problema principale è la gestione insicura di questi flag del linker — in particolare mediante l’uso di opzioni come -X (simile al -D di gcc), nonché dei pericolosi flag -extld e -extldflags.
Sebbene la compilazione venga eseguita tramite subprocess.check_output() senza shell=True (che mitiga parte dei rischi di injection diretta), un attaccante può comunque manipolare il processo di compilazione abusando dei flag del linker. Impostando un linker esterno (ad esempio gcc o clang) e passando argomenti controllati dall’attaccante tramite -extldflags, è possibile eseguire comandi arbitrari durante il processo di build.
Un proof-of-concept (PoC) ha dimostrato come valori opportunamente costruiti negli header HTTP possano innescare questo comportamento, portando all’esecuzione di codice remoto su sistemi vulnerabili.
Raccomandazioni
-
Aggiornare immediatamente:
Passare a una versione corretta di MITRE Caldera (l’ultima versione del branch Master o la v5.1.0 e successive) che risolve questa vulnerabilità. -
Limitare l’accesso in rete:
Consentire l’accesso al server Caldera solo da host fidati, riducendo il rischio di exploit non autorizzati. -
Rafforzare gli ambienti di build:
Rimuovere o limitare gli strumenti di compilazione non necessari (Go, Python, gcc) sui sistemi di produzione, oppure isolare il server Caldera in un ambiente controllato. -
Monitorare e auditare:
Aumentare il livello di monitoraggio e logging per individuare attività anomale che potrebbero indicare tentativi di exploit. Verificare regolarmente la configurazione e i controlli di accesso sugli endpoint di compilazione dinamica.