Kriittinen haavoittuvuus OpenSMTPD-sähköpostipalvelimessa | Traficom

Kriittinen haavoittuvuus OpenSMTPD-sähköpostipalvelimessa

1. helmikuuta 2020 klo 12.00

OpenSMTPD:n versioon 6.6. on julkaistu kriittinen päivitys. Päivitys korjaa OpenSMTPD:n smtp_mailaddr() -funktion sisältämän käyttäjien syötteen sanitaatiossa olevan haavoittuvuuden. Haavoittuvuutta hyväksikäyttävä paikallinen hyökkääjä voi korottaa käyttöoikeuksiaan ja etänä tai paikallisesti toimiva hyökkääjä voi suorittaa palvelimella haluttua koodia pääkäyttäjän oikeuksin.

OpenSMTPD on avoimen lähdekoodin sähköpostipalvelinohjelmisto, jota voidaan käyttää mm. OpenBSD, FreeBSD ja NetBSD -käyttöjärjestelmissä sekä Debian, Arch Linux, Alpine Linux ja Fedora -jakelupaketeissa.

Hyökkääjä voi hyväksikäyttää haavoittuvuutta lähettämällä tietyllä tavalla muokatun SMTP-viestin, joka ohittaa smtp_mailaddr()-funktion tekemän tarkastuksen. Kyseinen smtp_mailaddr()-funktio tarkastaa lähettäjän ja vastaanottajan sähköpostiosoitteet. Mikäli sähköpostiosoitteen (local@domain) local-osa on virheellinen ja domain-osa on tyhjä, funktio lisää sähköpostiosoitteen domain-osaksi oletusosoitteen eikä palauta väärän local-osan takia virhettä, vaikka sen pitäisi. Tämän seurauksena virheellistä local-osaa ei tarkasteta.

Koska sähköpostiosoitteiden local-osan tarkastusta ei tehdä, hyökkääjä pystyy käyttämään siinä vaarallisia merkkejä, joita ei normaalisti sallittaisi, ja lähettämään siten komentoja suoritettavaksi OpenSMTPD-palvelimelle.

Haavoittuvuus on korjattu OpenSMTPD:n versiosssa 6.6.2p.

Suosittelemme OpenSMTPD-sähköpostipalvelinten ylläpitäjiä tarkastamaan palvelimen version. Haavoittuvuuden sisältävä sähköpostipalvelin on syytä päivittää välittömästi.

Haavoittuvuuden kohde

OpenSMTPD 6.6. ennen versiota 6.6.2p.

Mistä on kysymys?

Korjaava ohjelmistopäivitys.

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 käyttäjän toimia

Ilman käyttäjän toimia tapahtuva hyökkäys kohdistuu suoraan haavoittuvuuteen ilman että järjestelmän käyttäjältä vaaditaan mitään toimia hyökkäyksen onnistumiseksi. Käyttäjän ei esimerkiksi tarvitse selailla www-sivuja tai käynnistää ohjelmaa tietokoneessa, vaan hyökkäys onnistuu ilman käyttäjän apua.

Paikallisesti

Paikallisesti tapahtuvan hyökkäyksen voi tehdä vain pääsemällä hyökkäyksen kohteena olevan laitteen luokse ja käyttämällä sitä paikallisesti. Paikallista hyökkäystä ei voi tehdä verkkoyhteyden kautta.

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.

Suojauksen ohittaminen

Suojauksen ohittamisella tarkoitetaan sitä, että haavoittuvuutta hyväksikäyttämällä ohitetaan järjestelmän käytön rajoittamiseksi tehty suojaus esimerkiksi liikennöimällä palomuurin ohi suojattuun verkkoon.

Käyttövaltuuksien laajentaminen

Käyttövaltuuksien laajentaminen mahdollistaa järjestelmän käyttämisen esimerkiksi pääkäyttäjänä, tavallista käyttäjää laajemmin valtuuksin.

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.