Haavoittuvuus3/2020
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.
Kohde
- Palvelimet ja palvelinsovellukset
Hyökkäystapa
- Etäkäyttö
- Ilman käyttäjän toimia
- Paikallisesti
- Ilman kirjautumista
Vaikutukset
- Komentojen mielivaltainen suorittaminen
- Suojauksen ohittaminen
- Käyttövaltuuksien laajentaminen
Hyväksikäyttömenetelmä tiedossa
- Haavoittuvuuden havainnollistava esimerkkikoodi
Ratkaisu
- Korjaava ohjelmistopäivitys
- Ongelman rajoittaminen
Haavoittuvuuden kohde
OpenSMTPD 6.6. ennen versiota 6.6.2p.
Mistä on kysymys?
Korjaava ohjelmistopäivitys.