Il 20 febbraio sono state pubblicate le correzioni per la CVE-2020-1938, soprannominata Ghostcat. Riguarda tutte le versioni di Apache Tomcat ancora in circolazione, e a pochi giorni dall’annuncio circolano già script che automatizzano l’attacco.
Il problema sta nel connettore per il protocollo AJP (Apache JServ Protocol), che serve a far dialogare Tomcat con un server web posto davanti, come Apache httpd. Nella configurazione predefinita è attivo e ascolta sulla porta 8009 su tutte le interfacce di rete. E si fida troppo di quello che riceve.
Chi raggiunge quella porta, senza autenticarsi, può leggere qualsiasi file nelle cartelle delle applicazioni web: configurazioni, password del database, codice sorgente. Se l’applicazione permette di caricare file, può fare di peggio: caricare un file che contiene codice JSP e farlo eseguire tramite AJP. La falla è stata scoperta da un gruppo di ricercatori cinesi e segnalata alla Apache Software Foundation il 3 gennaio.
Le versioni corrette sono queste:
- Tomcat 9: vulnerabile fino alla 9.0.30, corretto nella 9.0.31;
- Tomcat 8.5: vulnerabile fino alla 8.5.50, corretto nella 8.5.51;
- Tomcat 7: vulnerabile fino alla 7.0.99, corretto nella 7.0.100;
- Tomcat 6: vulnerabile e fuori supporto, nessuna correzione.
Nelle nuove release il connettore AJP ascolta solo su localhost e richiede un segreto condiviso. Occhio ai prodotti che includono Tomcat senza dirlo troppo forte, come gestionali, application server e appliance: per quelli l’aggiornamento deve arrivare dal produttore.
Se non puoi aggiornare oggi
Chiediti prima di tutto se AJP ti serve. In molte installazioni la risposta è no, e allora basta commentare il connettore sulla porta 8009 in conf/server.xml e riavviare il servizio. Se invece lo usi davvero, limita l’ascolto all’indirizzo locale con address="127.0.0.1" e imposta un segreto con l’attributo secret.
In ogni caso la porta 8009 non deve essere raggiungibile da Internet. Se un controllo sul firewall perimetrale ti dice che lo era, considera esposti anche i file di configurazione e cambia le password che contenevano.



