Vakava haavoittuvuus Tomcat-sovellusalustassa (CVE-2020–1938, GhostCat) | Traficom

Vakava haavoittuvuus Tomcat-sovellusalustassa (CVE-2020–1938, GhostCat)

4. maaliskuuta 2020 klo 13.14

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.

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ä?

Palvelimet ja palvelinsovellukset

Palvelinten ja palvelinohjelmistojen haavoittuvuudet koskevat esimerkiksi sähköisten asiointipalvelujen tarjoajia. Tyypillisiä kohteita ovat palvelinten käyttöjärjestelmät ja www- tai sähköpostipalvelinohjelmistot kuten esimerkiksi SunOS, Linux, Apache, IIS tai Sendmail.

Etäkäyttö

Etäkäyttöisesti tehtävän hyökkäyksen voi tehdä tietoverkkoyhteyden tai vastaavan kautta ilman että pääsee itse kohteena olevan järjestelmän luokse.

Ilman kirjautumista

Hyökkäys ei vaadi kohteena olevaan järjestelmään kirjautumista. Vastakohtana ovat sellaiset hyökkäykset, jotka vaativat käyttäjätunnuksen ja salasanan käyttöä ja esimerkiksi komentojen suorittamista järjestelmään kirjautuneena.

Komentojen mielivaltainen suorittaminen

Komentojen mielivaltaisen suorittamisen mahdollistavaa haavoittuvuutta on pidettävä vakavana, sillä se tarkoittaa sitä, että hyväksikäyttäjä voi käyttää kohteena olevaa järjestelmää aivan kuin sen tavallinen käyttäjäkin. Se voi johtaa myös siihen, että järjestelmään murtautunut hyökkääjä voi ladata verkon kautta järjestelmään omia ohjelmiaan suoritettavaksi.

Luottamuksellisen tiedon hankkiminen

Luottamuksellisten tietojen hankkiminen kohdejärjestelmästä edellyttää sitä, että sen tietosisältöä, esimerkiksi kiintolevylle talletettuja tiedostoja, pääsee lukemaan luvatta ja välittämään edelleen.

Rikollisessa käytössä

Haavoittuvuus on rikollisessa käytössä.

Haavoittuvuuden havainnollistava esimerkkikoodi

Proof of concept.

Korjaava ohjelmistopäivitys

Ohjelmisto- tai laitevalmistaja julkaisee tavallisesti pian uuden version tai osittaisen päivityksen ohjelmistoon tai käyttöjärjestelmään sen jälkeen kun haavoittuvuus on tullut julki. Päivitys voi olla saatavilla samalla kun haavoittuvuuskin julkaistaan, mutta usein sitä joudutaan odottelemaan jonkin aikaa.

Ongelman rajoittaminen

Vaikka varsinaista korjausta haavoittuvuuteen ei aina ole saatavilla, sen vaikutuksia voidaan useimmiten rajoittaa esimerkiksi pidättäytymällä tilapäisesti jonkin ominaisuuden käytöstä tai rajoittamalla verkkoliikennettä kohdejärjestelmään sopivasti.