Etusivu: Kyberturvallisuuskeskus
Etusivu: Kyberturvallisuuskeskus
Valikko

Haavoittuvuus Exim-sähköpostiohjelmistossa

Haavoittuvuus15/2019

Exim-sähköpostiohjelmistosta on löydetty vakava haavoittuvuus. Paikallisesti tai verkon yli toimiva hyökkääjä voi suorittaa ohjelmakoodia pääkäyttäjän oikeuksin kohdejärjestelmässä. Tunnettua julkista hyväksikäyttömenetelmää ei ole tiedossa, mutta alustava haavoittuvuuden hyödyntämisen havainnollistava esimerkkikoodi on olemassa.

Haavoittuvuus koskee kaikkia Exim-palvelinohjelmistoja jotka tukevat TLS-salauksen käyttöä sähköpostinvälityksessä. Haavoittuvuus ei riipu ympäristössä käytettävästä TLS-kirjastosta, vaan sekä GnuTLS ja OpenSSL pohjaiset toteutukset ovat haavoittuvia.

Haavoittuvuuden hyväksikäyttö onnistuu lähettämällä palvelimelle TLS-kättelyiden aikana tietyllä tavalla muotoiltu SNI merkkijono.

Haavoittuvuuden korjaava versio on saatavilla suoraan valmistajalta:

    Tarballs: https://ftp.exim.org/pub/exim/exim4/
    Git: https://github.com/Exim/exim.git
         - tag    exim-4.92.2
         - branch exim-4.92.2+fixes

Varmista oman ympäristösi ohjelmistojakelusta koska korjaava versio on saatavilla, mikäli et voi päivittää ohjelmistoa suoraan valmistajan lähdekoodista.

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

Haavoittuvuuden kohde

Exim 4.92.1 sekä kaikki sitä vanhemmat versiot.

Mistä on kysymys?

TLS -salauksen poistaminen käytöstä, tämä EI OLE SUOSITELTAVAA.

Valmistaja on esittänyt seuraavanlaisen rajoitusmenetelmän hyväksikäytön estämiseksi:

Add - as part of the mail ACL (the ACL referenced by the main config option "acl_smtp_mail"):

     deny    condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
     deny    condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Mitä voin tehdä?

Lisätty haavoittuvuuden hyväksikäytön rajoitusmenetelmä.