Exim 4.94.2 -päivitys, joka sisältää korjauksia 10 etäkäyttöön mahdollistavaan haavoittuvuuteen

Exim 4.94.2 -postipalvelimen julkaisu on julkaistu poistamalla 21 haavoittuvuutta (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), jotka Qualys tunnisti ja esiteltiin koodinimellä 21 Kynnet. 10 ongelmaa voidaan hyödyntää etänä (mukaan lukien koodin suorittaminen pääkäyttäjän oikeuksin) manipuloimalla SMTP-komentoja vuorovaikutuksessa palvelimen kanssa.

Ongelma vaikuttaa kaikkiin Exim-versioihin, joiden historiaa on seurattu Gitissä vuodesta 2004 lähtien. Toimivia hyväksikäytön prototyyppejä on valmistettu 4 paikallista haavoittuvuutta ja 3 etäongelmaa varten. Paikallisten haavoittuvuuksien hyväksikäyttö (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) mahdollistaa pääkäyttäjän oikeuksien korottamisen. Kaksi etäongelmaa (CVE-2020-28020, CVE-2020-28018) mahdollistavat koodin suorittamisen ilman todennusta Exim-käyttäjänä (voit saada pääkäyttäjän oikeudet hyödyntämällä yhtä paikallisista haavoittuvuuksista).

CVE-2020-28021-haavoittuvuus mahdollistaa koodin välittömän etäsuorittamisen pääkäyttäjän oikeuksilla, mutta vaatii todennettua pääsyä (käyttäjän on muodostettava todennettu istunto, jonka jälkeen hän voi hyödyntää haavoittuvuutta käsittelemällä MAIL FROM -komennon AUTH-parametria). Ongelma johtuu siitä, että hyökkääjä voi korvata merkkijonon spool-tiedoston otsikossa kirjoittamalla autentikoitu_lähettäjä-arvon ilman, että erikoismerkkejä ei tarvitse välttää (esimerkiksi välittämällä komennon MAIL FROM:<> AUTH=Raven+0AReyes ”).

Lisäksi on huomattava, että toinen etähaavoittuvuus, CVE-2020-28017, on hyödynnettävissä koodin suorittamiseen "exim"-käyttöoikeuksilla ilman todennusta, mutta vaatii yli 25 Gt muistia. Jäljelle jääville 13 haavoittuvuudelle voitaisiin mahdollisesti myös valmistella hyväksikäyttöjä, mutta työtä tähän suuntaan ei ole vielä tehty.

Exim-kehittäjille ilmoitettiin ongelmista viime vuoden lokakuussa, ja he käyttivät yli 6 kuukautta korjausten kehittämiseen. Kaikkia järjestelmänvalvojia suositellaan päivittämään pikaisesti sähköpostipalvelimiensa Exim versioon 4.94.2. Kaikki versiota 4.94.2 edeltävät Exim-versiot on julistettu vanhentuneiksi. Uuden version julkaisua koordinoitiin jakeluiden kanssa, jotka julkaisivat samanaikaisesti pakettipäivityksiä: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE ja Fedora. Ongelma ei vaikuta RHELiin ja CentOS:ään, koska Exim ei sisälly niiden vakiopakettivarastoon (EPEL:llä ei ole vielä päivitystä).

Poistetut haavoittuvuudet:

  • CVE-2020-28017: Kokonaisluvun ylivuoto Receive_add_recipient()-funktiossa;
  • CVE-2020-28020: Kokonaisluvun ylivuoto Receive_msg()-funktiossa;
  • CVE-2020-28023: smtp_setup_msg();
  • CVE-2020-28021: rivinvaihto spool-tiedoston otsikossa;
  • CVE-2020-28022: Kirjoita ja lue funktiossa extract_option() varatun puskurin ulkopuolella olevalle alueelle;
  • CVE-2020-28026: Merkkijonon katkaisu ja korvaaminen spool_read_header();
  • CVE-2020-28019: Kaatuu, kun toimintoosoitin nollataan BDAT-virheen jälkeen;
  • CVE-2020-28024: Puskurin alivuoto funktiossa smtp_ungetc();
  • CVE-2020-28018: Käytä vapaata puskuria tls-openssl.c:ssä
  • CVE-2020-28025: Pdkim_finish_bodyhash()-funktion rajojen ulkopuolinen luku.

Paikalliset haavoittuvuudet:

  • CVE-2020-28007: Symbolinen linkkihyökkäys Exim-lokihakemistossa;
  • CVE-2020-28008: Taustahakemistohyökkäykset;
  • CVE-2020-28014: mielivaltainen tiedostojen luonti;
  • CVE-2021-27216: Mielivaltainen tiedoston poisto;
  • CVE-2020-28011: Puskurin ylivuoto kohteessa queue_run();
  • CVE-2020-28010: rajojen ulkopuolelle kirjoittaminen main();
  • CVE-2020-28013: Puskurin ylivuoto funktiossa parse_fix_phrase();
  • CVE-2020-28016: kirjoita rajojen ulkopuolelle parse_fix_phrase();
  • CVE-2020-28015: rivinvaihto spool-tiedoston otsikossa;
  • CVE-2020-28012: Sulje-on-exec-lippu puuttuu etuoikeutetusta nimettömästä putkesta;
  • CVE-2020-28009: Kokonaisluvun ylivuoto get_stdinput()-funktiossa.



Lähde: opennet.ru

Lisää kommentti