Exim 4.94.2-fernijing mei reparaasjes foar 10 kwetsberens dy't op ôfstân eksploitearje kinne

De frijlitting fan 'e Exim 4.94.2-posttsjinner is publisearre mei it eliminearjen fan 21 kwetsberens (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), dy't waarden identifisearre troch Qualys en presintearre ûnder de koadenamme 21 Nagels. 10-problemen kinne op ôfstân eksploitearre wurde (ynklusyf it útfieren fan koade mei rootrjochten) troch manipulaasje fan SMTP-kommando's by ynteraksje mei de tsjinner.

Alle ferzjes fan Exim, waans skiednis sûnt 2004 yn Git is folge, wurde beynfloede troch it probleem. Wurkprototypen fan eksploaten binne taret foar 4 lokale kwetsberens en 3 problemen op ôfstân. Exploiten foar lokale kwetsberens (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) kinne jo jo privileezjes ferheegje nei de root-brûker. Twa problemen op ôfstân (CVE-2020-28020, CVE-2020-28018) kinne koade útfiere sûnder autentikaasje as de Exim-brûker (jo kinne dan root-tagong krije troch ien fan 'e lokale kwetsberens te eksploitearjen).

De CVE-2020-28021-kwetsberens lit direkte útfiering fan koade op ôfstân mei rootrjochten mooglik meitsje, mar fereasket authentisearre tagong (de brûker moat in authentisearre sesje fêststelle, wêrnei't se de kwetsberens kinne eksploitearje troch manipulaasje fan 'e AUTH-parameter yn it MAIL FROM-kommando). It probleem wurdt feroarsake troch it feit dat in oanfaller stringsubstitúsje kin berikke yn 'e koptekst fan in spoolbestân troch it skriuwen fan de authenticated_sender-wearde sûnder spesjale tekens goed te ûntkommen (bygelyks troch it kommando "MAIL FROM:<> AUTH=Raven+0AReyes troch te jaan ”).

Derneist wurdt opmurken dat in oare kwetsberens op ôfstân, CVE-2020-28017, eksploitabel is om koade út te fieren mei "exim" brûkersrjochten sûnder autentikaasje, mar fereasket mear dan 25 GB ûnthâld. Foar de oerbleaune 13 kwetsberens kinne eksploaten mooglik ek wurde taret, mar wurk yn dizze rjochting is noch net útfierd.

De Exim-ûntwikkelders waarden yn oktober ferline jier op 'e hichte brocht fan' e problemen en hawwe mear dan 6 moannen bestege oan it ûntwikkeljen fan fixes. Alle behearders wurde oanrikkemandearre om Exim driuwend te aktualisearjen op har e-posttsjinners nei ferzje 4.94.2. Alle ferzjes fan Exim foarôfgeand oan release 4.94.2 binne ferâldere ferklearre. De publikaasje fan 'e nije ferzje waard koördinearre mei distribúsjes dy't tagelyk pakketfernijings publisearren: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE en Fedora. RHEL en CentOS wurde net beynfloede troch it probleem, om't Exim net is opnaam yn har standert pakketrepository (EPEL hat noch gjin update).

Fuortsmite kwetsberens:

  • CVE-2020-28017: Integer oerstreaming yn 'e funksje receive_add_recipient();
  • CVE-2020-28020: Integer oerstream yn 'e funksje receive_msg();
  • CVE-2020-28023: Out-of-bounds lêzen yn smtp_setup_msg();
  • CVE-2020-28021: Newline-ferfanging yn spoolbestânkop;
  • CVE-2020-28022: Skriuw en lês yn in gebiet bûten de tawiisde buffer yn 'e extract_option () funksje;
  • CVE-2020-28026: String trunkaasje en substitúsje yn spool_read_header();
  • CVE-2020-28019: Crash by it weromsetten fan in funksje-oanwizer neidat in BDAT-flater optreedt;
  • CVE-2020-28024: Bufferûnderstream yn 'e smtp_ungetc () funksje;
  • CVE-2020-28018: Brûk-nei-frije buffer tagong yn tls-openssl.c
  • CVE-2020-28025: In lêzen bûten de grinzen yn 'e funksje pdkim_finish_bodyhash ().

Lokale kwetsberens:

  • CVE-2020-28007: Symboalyske keppeling oanfal yn 'e Exim-logmap;
  • CVE-2020-28008: Spool directory oanfallen;
  • CVE-2020-28014: Arbitrêre bestân oanmeitsjen;
  • CVE-2021-27216: Willekeurige triem wiskjen;
  • CVE-2020-28011: Bufferoerstream yn queue_run();
  • CVE-2020-28010: Out-of-bounds skriuwe yn main();
  • CVE-2020-28013: Bufferoerstream yn funksje parse_fix_phrase ();
  • CVE-2020-28016: Out-of-bounds skriuwe yn parse_fix_phrase ();
  • CVE-2020-28015: Newline-ferfanging yn spoolbestânkop;
  • CVE-2020-28012: Missing close-on-exec flagge foar in befoarrjochte net neamde pipe;
  • CVE-2020-28009: Integer oerstreaming yn de get_stdinput() funksje.



Boarne: opennet.ru

Add a comment