This post is also available in: English (Inglese) 繁體中文 (Cinese tradizionale) Nederlands (Olandese) Deutsch (Tedesco) 한국어 (Coreano) Español (Spagnolo) Türkçe (Turco)
Scenario
Il 22 agosto 2018, l'Apache Foundation ha rilasciato un aggiornamento critico di sicurezza per CVE-2018-1176, una vulnerabilità di esecuzione di codice remoto presente nelle versioni dalla 2.3 alla 2.3.34 e dalla 2.5 alla 2.5.16. L'Apache Foundation ha raccomandato a tutti di effettuare l'aggiornamento di sicurezza il prima possibile.
Scopo di questo articolo è aiutare le aziende a valutare il rischio relativo a tale vulnerabilità e informare i clienti di Palo Alto Networks delle protezioni adottate per mitigare tale rischio, fino a quando non saranno applicati gli aggiornamenti di sicurezza. I clienti di Palo Alto Networks che utilizzano le più recenti firme di vulnerabilità rilasciate il 24 agosto 2018 sono protetti.
Informazioni sulla vulnerabilità
Secondo l'Apache Foundation e il ricercatore di sicurezza Man Yue Mo, questa vulnerabilità consente l'esecuzione di codice remoto su un server che esegue una versione vulnerabile di Apache Struts. Il metodo di attacco si basa sull'invio a un sistema vulnerabile di una specifica URL appositamente creata. Nella maggioranza dei casi, ciò significa che non occorre alcuna autenticazione per sferrare un attacco su tale vulnerabilità.
Se l'attacco va a segno, esegue codice nel contesto di sicurezza utilizzato da Struts. In alcuni casi, l'esito potrebbe essere la totale compromissione del sistema.
Occorre sottolineare, tuttavia, che non è possibile sfruttare la vulnerabilità nelle configurazioni predefinite. Perché il sistema sia vulnerabile all'attacco, devono essere soddisfatte le seguenti due condizioni:
L'opzione alwaysSelectFullNamespace deve essere impostata su "true" nella configurazione di Struts. (Nota: se l'applicazione utilizza il popolare plugin Struts Convention, "true" è il valore predefinito impostato dal plugin per questa opzione.)
L'applicazione Struts utilizza "azioni" che sono configurate con un namespace non specificato o dotato di wildcard. La condizione riguarda azioni e namespace specificati nel file di configurazione di Struts. Nota: se l'applicazione utilizza il popolare plugin Struts Convention, la condizione si applica anche ad azioni e namespace specificati nel codice Java.
Se l'applicazione Struts non soddisfa entrambe le condizioni, potrebbe risultare ancora vulnerabile ma non soggetta (per il momento) all'exploit sulla CVE-2018-11776.
In particolare, se l'applicazione utilizza il popolare plugin Struts Convention, il rischio derivante da un attacco è superiore rispetto a quello di altre implementazioni di Struts che non usano il plugin.
Informazioni sull'ambiente della minaccia
La vulnerabilità è stata resa pubblica il 22 agosto insieme al rilascio degli aggiornamenti di sicurezza che la risolvono. Esistono informazioni dettagliate sulla vulnerabilità e sugli exploit conosciuti fino ad ora. È inoltre già disponibile un codice a scopo dimostrativo (PoC). Come detto, il codice PoC funziona solo su sistemi vulnerabili e che soddisfano entrambe le condizioni menzionate.
Alcuni hanno segnalato che una precedente vulnerabilità critica di Struts era stata attaccata attivamente l'anno scorso solo tre giorni dopo il rilascio dell'aggiornamento di sicurezza e delle informazioni sulla vulnerabilità.
Non si riscontrano al momento attacchi attivi e il requisito che due condizioni non ordinarie debbano essere soddisfatte per permettere il successo dell'attacco rende l'ambiente sfavorevole alla minaccia.
Tuttavia, data la disponibilità del codice PoC, ci si può attendere che la vulnerabilità sia per lo meno sondata, se non attivamente sfruttata, in tempi brevi.
Prima dell'applicazione della patch, le organizzazioni devono basare la valutazione del rischio di un possibile attacco su quattro elementi:
- Utilizzano il plugin Struts Convention?
- Soddisfano entrambe le condizioni richieste dall'exploit?
- Esistono indicazioni di attacchi e di uso malevolo dell'attuale codice PoC?
- Sono stati sviluppati nuovi PoC o attacchi che mirano a superare le due condizioni richieste dall'exploit?
Istruzioni e protezioni per i clienti di Palo Alto Networks
Tutte le organizzazioni che eseguono versioni vulnerabili di Apache Struts devono applicare gli aggiornamenti di sicurezza il più presto possibile.
Le organizzazioni possono e devono stabilire le priorità per l'applicazione degli aggiornamenti di sicurezza in base alle proprie policy di sicurezza e alla valutazione del rischio, nonché alle informazioni attualmente disponibili.
I clienti di Palo Alto Networks che utilizzano firme di vulnerabilità nella versione di rilascio dei contenuti 8057, pubblicata il 24 agosto 2018, che include il nome ID 33948: Apache Struts 2 Remote Code Execution Vulnerability, sono protetti dagli exploit attualmente noti che sfruttano quella vulnerabilità.
Gli altri clienti devono comunque applicare l'aggiornamento di sicurezza come precedentemente consigliato, ma possono e devono munirsi nell'immediato delle più recenti firme di vulnerabilità per ottenere ulteriore protezione. L'adozione di tale protezione aggiuntiva può e deve essere considerata dai nostri clienti come parte delle decisioni riguardanti la sicurezza e l'applicazione degli aggiornamenti di sicurezza e tenuta presente nella valutazione del rischio e dell'ambiente della minaccia.
Come sempre, monitoriamo attentamente la situazione e forniremo ulteriori dettagli non appena saranno resi disponibili.