giovedì 7 aprile 2022

Spring4Shell - la vulnerabilità che affligge Spring mette a rischio le app aziendali: come affrontare il problema

Non è passato molto tempo dalla scoperta di Log4Shell, una vulnerabilità che consente l'esecuzione di codice da remoto senza necessità di autenticazione e può essere sfruttata per eseguire codice arbitrario su applicazioni e server basati su Java che eseguono la libreria Log4j.

Ora siamo di fronte all'individuazione di ben due nuove vulnerabilità che possono mettere a rischio la sicurezza di migliaia di aziende nel mondo. Entrambe 0-day, affliggono Spring uno dei più diffusi e utilizzati framework open source per scrivere applicazioni in Java. Spring è molto utilizzato perchè consente agli sviluppatori di sviluppare velocemente e facilmente applicazioni Java con funzionalità destinate al mondo enterprise.

La vulnerabilità CVE-2022-22963 nella funzione Spring Cloud

La prima vulnerabilità individuata è stata la vulnerabilità CVE-2022-22963  nella funzione Spring Cloud. In caso sfruttata correttamente, questa vulnerabilità può consentire l'esecuzione di codice remoto non autenticato nelle applicazioni ed è stata classificata di gravità media.

I ricercatori di NSFOCUS spiegano che la vulnerabilità viene attivata dal parametro "spring.cloud.function.routing-expression" e che consente agli attaccanti di accedere ai materiali lato server, di spostare account utente, di interferire con le funzionalità.

CVE-2022-22963: quali versioni riguarda?
Le versioni Spring Cloud afflitte da questa vulnerabilità sono la 3.1.6, la 3.2.2 e tutte le precedenti. Secondo i suoi sviluppatori, la migliore opzione è quella di procedere urgentemente all'aggiornamento della versione in uso adottando le versioni 3.1.7 o 3.2.3 a seconda del ramo applicativo in uso.

La vulnerabilità CVE-2022-22965 sul Core e l'exploit Spring4Shell. 

Il peggio però deve ancora venire ed arriva con l'individuazione di una seconda vulnerabilità non in Spring Clud ma nel Core del Framework Spring. Anche in questo caso si parla della possibilità di esecuzione di codice non autenticato da remoto. Spring4Shell altro non è che il nome di fantasia scelto per il suo exploit, che richiama evidentemente l'altra ben nota vulnerabilità che ha scosso il mondo della cyber security aziendale, ovvero Log4Shell di Log4j.

La scoperta è stata resa nota di un account Twitter cinese che mostrava, screenshot alla mano, un proof of concept di una 0-day presente nella libreria, estremamente diffusa, Java Spring Core. I tweet sono poi stati cancellati, ma sicuramente qualcuno vi ha messo sopra le mani.

Microsoft individua una crescita esponenziale dei tentativi di sfruttare Spring4Shell

Il Microsoft Security Response Center ha fatto sapere che

"monitoriamo costantemente gli attacchi contro le nostre infrastrutture cloud e i nostri servizi per difenderli al meglio. Dal momento in cui la vulnerabilità nel Core Spring è stata annunciata, abbiamo tracciato un alto volume di tentativi di exploit nei nostri servizi cloud contro le vulnerabilità di Spring Cloud e Spring Core".

Microsoft ha quindi spiegato che gli attaccanti tentano di sfruttare la vulnerabilità Spring Cpore inviando ai server queries appositamente confezionate al fine di creare web shell nella root directory di Tomcat. E' tramite questa web shell che diviene possibile per gli attaccanti eseguire codice sul server compromesso.

Dopo la segnalazione di Microsoft, la U.S Cybersecurity and Infrastructure Security Agency (CISA) ha proceduto ad aggiungere Spring4Shell al catalogo delle vulnerabilità conosciute sfruttabili.

Dati di Check Point pubblicati appena Martedì scorso indicano che i tentativi di exploit della CVE-2022-22965 hanno già colpito almeno il 16% di tutte le aziende vulnerabili a Spring4Shell: 37.000 i tentativi di exploit individuati nel corso dello scorso fine settimana.

CVE-2022-22965: quali versioni riguarda?
La vulnerabilità è presente in Spring Core dalla v. 5.2.0 alla 5.3.17 e dalla 5.2.0 alla 5.2.19 e versioni precedenti. Questa è già stata corretta comunque, quindi sarà sufficiente procedere all'aggiornamenoto alla versione 5.2.20 o alla 5.3.18 a seconda del ramo in uso.
Non c'è quindi molto da fare se non diffondere la notizia e invitare chi utilizza il framework Spring ad aggiornare le versioni in uso.

A questo link è possibilie consultare l'alert ufficiale di Spring, contenente tra l'altro tutti i dettagli e le patch.

Nessun commento:

Posta un commento