ĂshtĂ« publikuar versioni i serverit tĂ« postĂ«s Exim 4.94.2 qĂ« adreson 21 dobĂ«si (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), tĂ« identifikuara nga kompania Qualys dhe tĂ« prezantuara me emrin kodues 21Nails. 10 probleme mund tĂ« shfrytĂ«zohen nga distanca (pĂ«rfshirĂ« pĂ«r ekzekutimin e kodit me privilegje root), pĂ«rmes manipulimeve me komandat SMTP gjatĂ« ndĂ«rveprimit me serverin.
Të gjitha versionet e Exim janë të prekshme, historiku i të cilave është ndjekur në Git që nga viti 2004. Janë përgatitur prototipa të punueshëm për 4 dobësi lokale dhe 3 probleme të distancës. Dobësitë lokale (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) lejojnë rritjen e privilegjeve deri në përdoruesin root. Dy problemet e distancës (CVE-2020-28020, CVE-2020-28018) lejojnë ekzekutimin e kodit pa autentifikim me privilegje të përdoruesit exim (më pas mund të arrihet root duke shfrytëzuar një nga dobësitë lokale).
DobĂ«sia CVE-2020-28021 lejon ekzekutimin e kodit nga distanca me privilegje root, por kĂ«rkon qasje tĂ« autentifikuar (pĂ«rdoruesi duhet tĂ« vendosĂ« njĂ« sesion tĂ« autentifikuar, pas sĂ« cilĂ«s mund ta shfrytĂ«zojĂ« dobĂ«sinĂ« duke manipuluar me parametrin AUTH nĂ« komandĂ«n MAIL FROM). Problemi shkaktohet nga fakti se sulmuesi mund tĂ« arrijĂ« zĂ«vendĂ«simin e vargut nĂ« titullin e skedarit spool pĂ«r shkak tĂ« regjistrimit tĂ« vlerĂ«s authenticated_sender pa njĂ« mbrojtje tĂ« duhur tĂ« simboleve speciale (pĂ«r shembull, duke kaluar komandĂ«n âMAIL FROM:<> AUTH=Raven+0AReyesâ).
Po ashtu, është e shënuar se një dobësi tjetër e distancës CVE-2020-28017 është e aftë për shfrytëzim për ekzekutimin e kodit me privilegje të përdoruesit 'exim' pa autentifikim, por kërkon më shumë se 25 GB memorie. Për 13 dobësi të tjera, potencialisht mund të përgatiten gjithashtu eksploite, por puna në këtë drejtim ende nuk është bërë.
Zhvilluesit e Exim janë njoftuar për problemet që nga tetori i vitit të kaluar dhe kanë kaluar më shumë se 6 muaj në zhvillimin e rregullimeve. Të gjithë administratorët rekomandohen të përditësojnë menjëherë Exim në postat e tyre serverë në versionin 4.94.2. Të gjitha versionet e Exim para lëshimit 4.94.2 janë shpallur të vjetra (obsolete). Publikimi i versionit të ri është koordinuar me distribucionet që në të njëjtën kohë publikuan përditësime për paketat: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE dhe Fedora. RHEL dhe CentOS nuk preken nga problemi, pasi Exim nuk është në depozitat e tyre standarde të paketave (në EPEL përditësimi akoma mungon).
Vulnerabilitetet e largëta:
- CVE-2020-28017: Mbushje integer të tepruar në funksionin receive_add_recipient();
- CVE-2020-28020: Mbushje integer të tepruar në funksionin receive_msg();
- CVE-2020-28023: Leximi nga zona jashtë memorie të alokuar në funksionin smtp_setup_msg();
- CVE-2020-28021: Zëvendësimi i vargut në titullin e skedarit spool;
- CVE-2020-28022: Shkrimi dhe leximi në zonë jashtë memorie të alokuar në funksionin extract_option();
- CVE-2020-28026: Shkurtesa dhe zëvendësimi i vargut në funksionin spool_read_header();
- CVE-2020-28019: Dështimi në rikthimin e treguesit të funksionit pas ndodhisë së një gabimi BDAT;
- CVE-2020-28024: Mbushje të tepruar përmes kufirit të poshtëm të memories në funksionin smtp_ungetc();
- CVE-2020-28018: Qasje në memory pas çlirimit të saj (use-after-free) në tls-openssl.c
- CVE-2020-28025: Leximi nga zona jashtë memorie të alokuar në funksionin pdkim_finish_bodyhash().
Dobësi lokale:
- CVE-2020-28007: Sulmi nëpërmjet një lidhjeje simbolike në katalogun me logun e Exim;
- CVE-2020-28008: Sulme në katalogun e spoolit;
- CVE-2020-28014: Krijimi i një skedari të rastësishëm;
- CVE-2021-27216: Fshirja e një skedari të rastësishëm;
- CVE-2020-28011: Mbushje mbi buffer në funksionin queue_run();
- CVE-2020-28010: Shkrimi jashtë buffer-it në funksionin main();
- CVE-2020-28013: Mbushje mbi buffer në funksionin parse_fix_phrase();
- CVE-2020-28016: Shkrimi jashtë buffer-it në funksionin parse_fix_phrase();
- CVE-2020-28015: Zëvendësimi i vargut në titullin e skedarit spool;
- CVE-2020-28012: Mungesa e flamurit close-on-exec për kanalin e privilegjuar të paemëruar;
- CVE-2020-28009: Mbushje integer të tepruar në funksionin get_stdinput().
Burimi: opennet.ru
