Vulnerabilità RCE in Citrix. Strumenti di verifica, PoC e workaround

14/01/2020

citrix cve-2019-19781 rce Vulnerabilità

 

A dicembre 2019, i ricercatori di Positive Technologies hanno identificato una vulnerabilità, tracciata con CVE 2019-19781 di livello “critico” in Citrix Application Delivery Controller (NetScaler ADC) e Citrix Gateway (NetScaler Gateway), il bug consente ad un utente remoto non autenticato di eseguire codice arbitrario su un sistema vulnerabile. Ad oggi, Citrix ha rilasciato un apposito bollettino con la descrizione di alcune modifiche alla configurazione utili a mitigare la vulnerabilità ma non ha rilasciato alcun aggiornamento per risolvere il problema. Nei giorni scorsi, la Cybersecurity and Infrastructure Security Agency (CISA) ha rilasciato uno strumento utile per verificare se il software Citrix è vulnerabile, si stima che almeno 80.000 aziende in 158 paesi siano potenzialmente a rischio. Solo in Italia, secondo shodan, sono 707 i sistemi esposti.

Dettagli tecnici

La società  di sicurezza MDSec ha esaminato la vulnerabilità e pubblicato un report; nel dettaglio i ricercatori, partendo dalle informazioni rilasciate nel bollettino Citrix, hanno investigato sulla vulnerabilità di tipo path traversal e indagato all’interno della cartella /vpns/ che contiene diversi script posizionati sotto “/vpns/portal/scripts/”. In particolare, il codice perl si occupa di assegnare il valore alla variabile username tramite una chiamata HTTP_NSC_USER all’interno della funzione denominata csd, per la quale non è stato previsto alcun controllo di sicurezza. Qualsiasi script che invoca la funzione csd (quasi tutti quelli contenuti sotto la cartella /vpns/) sarà quindi in grado di sfruttare la vulnerabilità. Successivamente è stato osservato lo script newbm.pl, sempre dentro /vpns/, che genera un array di informazioni in fine utilizzate dalla funzione filewrite per scriverne il contenuto in un file XML direttamente su disco.

In pratica l’attaccante, sfruttando la vulnerabilità path traversal presente nella funzione csd, può controllare il parametro “username” che verrà successivamente utilizzato come nome file per salvare il file XML.

PoC e Honeypot

In questi giorni sono stati rilasciati pubblicamente numerosi PoC che consentono di creare reverse shell ed eseguire comandi sui dispositivi compromessi e quindi ottenerne il pieno controllo. Secondo quanto osservato dai ricercatori di TrustedSec tramite analisi dei log di una honeypot, diverse richieste di tipo POST con parametri ad-hoc sono state effettuate verso lo script newbm.pl e altrettante richieste GET verso il file XML, questo consentiva all’attaccante di eseguire comandi sfruttando la vulnerabilità per poi visionare l’output attraverso il file XML. Lo script utilizzato per l’attacco è ospitato su github.

Conclusioni

Secondo il bollettino CTX267027, Citrix rilascerà nuove versioni Citrix ADC e Citrix Gateway per correggere la vulnerabilità a partire dal 20 gennaio 2020. Il CERT-PA consiglia di applicare al momento la mitigazione proposta da Citrix nei giorni scorsi.