Vakava haavoittuvuus Tomcat-sovellusalustassa (CVE-2020–1938, GhostCat)
Haavoittuvuus6/2020
Apache Tomcat -sovellusalustasta on korjattu vakava haavoittuvuus, joka liittyy AJP-liityntärajapintaan (Apache JServ Protocol Connecor). GhostCat-nimellä tunnettu haavoittuvuus on aktiivisen skannauksen ja hyväksikäyttöyritysten kohteena. Haavoittuvuuden avulla hyökkääjä voi lukea tai suorittaa tiedostoja palvelimelta. Jos hyökkääjällä on lisäksi mahdollisuus ladata oma tiedostonsa suoritettavaksi, voi tämä johtaa koko palvelimen haltuunottoon.
Apache Tomcat on monien verkkopalveluiden rakentamisessa käytetty sovellusalusta. Myös usein käytetty JBoss-sovellusalusta hyöntyntää tyypillisesti Tomcatia. Tomcatin aiempien versioiden oletusasetukset jättivät AJP-liityntärajapinnan avoimeksi TCP-porttiin 8009 mahdollistaen haavoittuvuuden hyväksikäytön, ellei sitä ole kytketty pois tai pääsyä rajattu.
Kohde
- Palvelimet ja palvelinsovellukset
Hyökkäystapa
- Etäkäyttö
- Ilman kirjautumista
Vaikutukset
- Komentojen mielivaltainen suorittaminen
- Luottamuksellisen tiedon hankkiminen
Hyväksikäyttömenetelmä tiedossa
- Rikollisessa käytössä
- Haavoittuvuuden havainnollistava esimerkkikoodi
Ratkaisu
- Korjaava ohjelmistopäivitys
- Ongelman rajoittaminen
Haavoittuvuuden kohde
- Apache Tomcat, versiot 9.0.0.M1 - 9.0.30
- Apache Tomcat, versiot 8.5.0 - 8.5.50
- Apache Tomcat, versiot 7.0.0 - 7.0.99
- Apache Tomcat 6, kaikki versiot. Korjausta ei ole saatavilla.
- JBoss Web Server (JWS), kun se sisältää haavoittuvan version Tomcatista
- JBoss Enterprise Application Platform (EAP), kun se sisältää haavoittuvan version Tomcatista
- Spring Boot Java framework, kun se sisältää haavoittuvan version Tomcatista
Mistä on kysymys?
- Päivitä Apache Tomcat korjattuun versioon valmistajan ohjeiden mukaisesti.
- Huomaa, että päivitys vaatii todennäköisesti pieniä konfiguraatiomuutoksia.
- Kytke AJP-liityntärajapinta pois käytöstä server.xml-konfiguraatiotiedostoa muuttamalla, jos sille ei ole tarvetta
- Rajoita pääsyä AJP-liityntärajapintaan palomuurilla tai muulla tavoin niin, että se on saatavilla vain luotetuista lähteistä
- Rajoita pääsyä AJP-liityntärajapintaan vaatimalla tunnistautumista (AJP Secret)
- Kyberturvallisuuskeskus suosittelee, että pääsy sovellusalustoilla toteutettuihin verkkopalveluihin sallitaan ainoastaan välityspalvelimen (Reverse Proxy) kautta. Samalla voidaan rajoittaa liikennöinti vain palvelun tarvitsemiin polkuihin ja pyyntöihin.
Mitä voin tehdä?
- https://securityboulevard.com/2020/02/patch-your-tomcat-and-jboss-instances-to-protect-from-ghostcat-vulnerability-cve-2020-1938-and/ (Ulkoinen linkki)
- https://access.redhat.com/solutions/4851251 (Ulkoinen linkki)
- https://mail-archives.apache.org/mod_mbox/tomcat-announce/202002.mbox/%3c83df9acb-716a-05c4-9ea4-d273b01601b3@apache.org%3e (Ulkoinen linkki)
- https://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.31 (Ulkoinen linkki)
- https://tomcat.apache.org/security-8.html#Fixed_in_Apache_Tomcat_8.5.51 (Ulkoinen linkki)
- https://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.100 (Ulkoinen linkki)
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1938 (Ulkoinen linkki)