Ghostcat, la vulnerabilità in Tomcat che può sostituire il codice

gatto fantasma

Rilasciati i ricercatori di Chaitin Tech, Cina informazioni su una nuova scoperta, come hanno identificato una vulnerabilità nel popolare contenitore servlet (Java Servlet, JavaServer Pages, Java Expression Language e Java WebSocket) Apache tomcat (già elencato come CVE-2020-1938).

Questa vulnerabilità è stato loro assegnato il nome in codice "Ghostcat" e un livello di gravità critico (9.8 CVSS). Il problema consente nella configurazione predefinita di inviare una richiesta tramite la porta di rete 8009 per leggere il contenuto di qualsiasi file nella directory dell'applicazione web, inclusi i codici sorgente dell'applicazione e i file di configurazione.

La vulnerabilità consente anche di importare altri file nel codice dell'applicazione, che consente organizzare l'esecuzione del codice sul server se l'applicazione consente il caricamento dei file sul server.

Per esempio, se l'applicazione del sito Web consente agli utenti di caricare file, un aggressore può caricare prima un file contenente il codice dello script JSP dannoso sul server (il file caricato stesso può essere qualsiasi tipo di file, come immagini, file di testo normale, ecc.) e quindi includere il file caricato sfruttando la vulnerabilità da Ghostcat, che alla fine può portare all'esecuzione di codice in modalità remota.

Si dice anche che un attacco può essere eseguito se è possibile inviare una richiesta a una porta di rete con un driver AJP. Secondo i dati preliminari, la rete ha trovato più di 1.2 milioni di host che accettano richieste utilizzando il protocollo AJP.

La vulnerabilità è presente nel protocollo AJP e non è causato da un errore di implementazione.

Oltre ad accettare le connessioni HTTP (porta 8080) in Apache Tomcat, per impostazione predefinita è possibile accedere all'applicazione web utilizzando il protocollo AJP (Apache Jserv Protocol, porta 8009), che è un analogo binario di HTTP ottimizzato per prestazioni più elevate, generalmente utilizzato durante la creazione di un cluster dai server Tomcat o per accelerare l'interazione con Tomcat su un proxy inverso o un bilanciatore del carico.

AJP fornisce una funzione standard per accedere ai file sul server, che può essere utilizzato, inclusa la ricezione di file non soggetti a divulgazione.

Resta inteso che l'accesso a AJP è aperto solo a servitori fidatima in effetti, nella configurazione Tomcat predefinita, il driver veniva avviato su tutte le interfacce di rete e le richieste venivano accettate senza autenticazione.

È possibile accedere a qualsiasi file nell'applicazione Web, inclusi i contenuti di WEB-INF, META-INF e qualsiasi altra directory restituita tramite la chiamata ServletContext.getResourceAsStream (). AJP consente inoltre di utilizzare qualsiasi file nelle directory disponibili per un'applicazione Web come script JSP.

Il problema è stato evidente da quando il ramo Tomcat 6.x è stato rilasciato 13 anni fa. Oltre a Tomcat stesso, il problema riguarda anche i prodotti che lo utilizzano, come Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), nonché applicazioni web autonome che utilizzano Spring Boot.

anche è stata trovata una vulnerabilità simile (CVE-2020-1745) sul server web di Undertow utilizzato nel server delle applicazioni Wildfly. Attualmente, vari gruppi hanno preparato più di una dozzina di esempi funzionanti di exploit.

Apache Tomcat ha ufficialmente rilasciato le versioni 9.0.31, 8.5.51 e 7.0.100 per correggere questa vulnerabilità. Per correggere correttamente questa vulnerabilità, devi prima determinare se il servizio Tomcat AJP Connector viene utilizzato nel tuo ambiente server:

  • Se non viene utilizzato il cluster o il proxy inverso, è possibile determinare sostanzialmente che AJP non viene utilizzato.
  •  In caso contrario, è necessario scoprire se il cluster o il server inverso sta comunicando con il servizio Tomcat AJP Connect

Si dice anche che gli aggiornamenti sono ora disponibili nelle diverse distribuzioni Linux come: Debian, Ubuntu, RHEL, Fedora, SUSE.

Come soluzione alternativa, è possibile disabilitare il servizio Tomcat AJP Connector (associare il socket in ascolto a localhost o commentare la riga con Connector port = »8009 ″), se non richiesto, o configurare l'accesso autenticato.

Se vuoi saperne di più puoi consultare il seguente collegamento. 


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.