Ажурирање на Exim 4.94.2 со поправки за 10 далечински експлоатирачки пропусти

Објавувањето на серверот за пошта Exim 4.94.2 е објавено со елиминација на 21 ранливост (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), кои беа идентификувани од Qualys и претставени под кодното име 21 Нокти. 10 проблеми може да се експлоатираат од далечина (вклучувајќи и извршување на код со права на root) преку манипулација со SMTP команди при интеракција со серверот.

Сите верзии на Exim, чија историја се следи во Git од 2004 година, се погодени од проблемот. Подготвени се работни прототипови на експлоатирања за 4 локални ранливости и 3 далечински проблеми. Експлоатите за локални ранливости (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) ви дозволуваат да ги подигнете вашите привилегии на корисникот на root. Два далечински проблеми (CVE-2020-28020, CVE-2020-28018) овозможуваат извршување на кодот без автентикација како корисник на Exim (потоа можете да добиете root пристап со искористување на една од локалните пропусти).

Ранливоста CVE-2020-28021 овозможува итно далечинско извршување на код со права на root, но бара автентификуван пристап (корисникот мора да воспостави автентицирана сесија, по што може да ја искористи ранливоста преку манипулација со параметарот AUTH во командата MAIL FROM). Проблемот е предизвикан од фактот што напаѓачот може да постигне замена на стрингот во заглавието на spool-датотеката со запишување на вредноста authenticated_sender без соодветно бегство од специјални знаци (на пример, со предавање на командата „MAIL FROM:<> AUTH=Raven+0AReyes ”).

Дополнително, се забележува дека друга далечинска ранливост, CVE-2020-28017, може да се експлоатира за да се изврши код со „exim“ кориснички права без автентикација, но бара повеќе од 25 GB меморија. За останатите 13 ранливости, потенцијално би можеле да се подготват и експлоатации, но работата во оваа насока сè уште не е извршена.

Програмерите на Exim беа известени за проблемите уште во октомври минатата година и поминаа повеќе од шест месеци развивајќи поправки. На сите администратори им се препорачува итно да го ажурираат Exim на своите е-пошта сметки. сервери До верзијата 4.94.2. Сите верзии на Exim пред 4.94.2 се застарени. Објавувањето на новата верзија беше координирано со дистрибуциите, кои истовремено објавија ажурирања на пакетите: Ubuntu, Арх Linux, FreeBSD, Debian, SUSE и Fedora. RHEL и CentOS не се засегнати од проблемот, бидејќи Exim не е вклучен во нивното стандардно складиште на пакети (сè уште нема ажурирање во EPEL).

Отстранети пропусти:

  • CVE-2020-28017: Прелевање на цели броеви во функцијата receive_add_recipient();
  • CVE-2020-28020: Прелевање на цели броеви во функцијата receive_msg();
  • CVE-2020-28023: Надвор од границите прочитани во smtp_setup_msg();
  • CVE-2020-28021: Замена на нова линија во заглавието на датотеката на макара;
  • CVE-2020-28022: Пишување и читање во област надвор од доделениот бафер во функцијата extract_option();
  • CVE-2020-28026: Скратување и замена на низа во spool_read_header();
  • CVE-2020-28019: Пад при ресетирање на покажувач на функција откако ќе се појави грешка BDAT;
  • CVE-2020-28024: Прелив на бафер во функцијата smtp_ungetc();
  • CVE-2020-28018: Употреба-по-слободна тампон-пристап во tls-openssl.c
  • CVE-2020-28025: Читање надвор од границите во функцијата pdkim_finish_bodyhash().

Локални ранливости:

  • CVE-2020-28007: Напад со симболична врска во директориумот за дневници на Exim;
  • CVE-2020-28008: Напади на директориуми на Spool;
  • CVE-2020-28014: Произволно креирање датотека;
  • CVE-2021-27216: Произволно бришење датотека;
  • CVE-2020-28011: Прелевање на баферот во queue_run();
  • CVE-2020-28010: Надвор од границите пишува во main();
  • CVE-2020-28013: Прелевање на баферот во функцијата parse_fix_phrase();
  • CVE-2020-28016: Надвор од границите пишува во parse_fix_phrase();
  • CVE-2020-28015: Замена на нова линија во заглавието на датотеката на макара;
  • CVE-2020-28012: Недостасува знаменце за затворање на exec за привилегирана неименувана цевка;
  • CVE-2020-28009: Прелевање на цели броеви во функцијата get_stdinput().



Извор: opennet.ru
Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster