Sono state identificate due pericolose vulnerabilità nella famosa utilità di configurazione di rete rConfig: entrambe consentono l’esecuzione di codice da remoto sui sistemi esposti. La più grave delle due è stata classificata come critica e consente ad un eventuale attaccante remoto di compromettere un server e i dispositivi di rete connessi, anche senza autenticazione.
Le vulnerabilità (identificate come CVE-2019-16663 e CVE-2019-16662) riguardano tutte le versioni di rConfig fino alla più recente 3.9.2. La più grave (la CVE-2019-16662) consente ad un aggressore di eseguire comandi arbitrari sui dispositivi di rete interessati tramite semplici richieste GET che gli consentono di ottenere il controllo da remoto del sistema esposto.
rConfig, lo ricordiamo, è una utility PHP open source per la gestione e configurazione delle reti: secondo alcune stime diffuse dai suoi stessi sviluppatori, rConfig è utilizzata giornalmente da circa 7.000 amministratori di rete per gestire oltre 7 milioni di dispositivi, inclusi switch, router, firewall, load-balancer e ottimizzatori WAN.
Numeri, questi, che evidenziano la gravità delle due vulnerabilità scoperte dal ricercatore di sicurezza Mohammad Askar.
Indice degli argomenti
Vulnerabilità critiche in rConfig: i dettagli tecnici
Le vulnerabilità sono entrambe di tipo RCE (Remote Code Execution) e sono state identificate nei file ajaxServerSettingsChk.php (la CVE-2019-16662) e search.crud.php (la CVE-2019-16663).
Per sfruttare la prima delle due, tutto quello che un attaccante deve fare è accedere al file vulnerabile mediante una richiesta GET malformata e con il parametro rootUname, necessario per eseguire comandi dannosi sul server di destinazione.
La vulnerabilità è “Unauthenticated” e quindi consente all’attaccante di compiere le sue azioni malevoli anche senza ottenere l’autenticazione sul sistema target.
Anche la seconda vulnerabilità può essere sfruttata allo stesso modo mediante una richiesta GET malformata. La differenza è che in questo caso il bug è di tipo Authenticated RCE e quindi il criminal hacker deve prima ottenere l’autorizzazione per l’accesso al sistema target.
In realtà, un altro ricercatore di sicurezza indipendente conosciuto con l’alias Sudoka ha scoperto che anche questa seconda vulnerabilità può essere sfruttata senza richiedere l’autenticazione nelle versioni di rConfig precedenti alla 3.6.0.
Qualunque sia la vulnerabilità sfruttata per compromettere un server e tutti i dispositivi di rete connessi, gli exploit consentono agli aggressori di ottenere l’accesso ad una shell remota e da qui eseguire qualsiasi comando arbitrario sul server con gli stessi privilegi dell’applicazione web.
Come mitigare il rischio di un attacco
Al momento, purtroppo, non esiste ancora un aggiornamento di rConfig che corregge le due pericolose vulnerabilità.
La buona notizia è che almeno la prima delle due vulnerabilità, la CVE-2019-16662 che è poi anche la più pericolosa, può essere resa innocua semplicemente cancellando il file ajaxServerSettingsChk.php e tutta la cartella che lo contiene e che viene utilizzata soltanto durante l’installazione di rConfig sul server.
Questo significa che gli utenti che hanno già cancellato la directory di installazione di rConfig non sono vulnerabili al primo difetto RCE, ma potrebbero essere ancora a rischio a causa della seconda vulnerabilità.
L’ultima raccomandazione, se si utilizza rConfig, è quella di rimuovere temporaneamente l’applicazione dal server o di utilizzare soluzioni alternative fino a quando non verranno rilasciate le patch di sicurezza. Si spera in tempi brevi, visto che al momento sulla pagina GitHub del progetto campeggia un poco rassicurante messaggio dello sviluppatore con cui informa di dedicarsi ormai solo alle pubbliche relazioni: “I am no longer fixing bugs on rConfig version 3.x. I will manage PRs”.