Оновлення Exim 4.94.2 з усуненням 10 уразливостей, що видалено експлуатуються.

Опубліковано випуск поштового сервера Exim 4.94.2 з усуненням 21 вразливості (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), які виявлені компанією Qualys та представлені під кодовим ім'ям 21Nails. 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 ГБ пам'яті. Для решти 13 уразливостей потенційно також можуть бути підготовлені експлоїти, але робота у цьому напрямі поки що не проводилася.

Розробники Exim були повідомлені про проблеми ще у жовтні минулого року і витратили понад 6 місяців на розробку виправлень. Всім адміністраторам рекомендовано оновити Exim на своїх поштових серверах до версії 4.94.2. Усі версії Exim до випуску 4.94.2 оголошені застарілими (obsolete). Публікацію нової версії було скоординовано з дистрибутивами, які одночасно опублікували оновлення пакетів: Ubuntu, Arch 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: Звернення до буфера після його звільнення (use-after-free) у tls-openssl.c
  • CVE-2020-28025: Читання з області поза виділеним буфером у функції pdkim_finish_bodyhash().

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

  • CVE-2020-28007: Атака через символічне посилання у каталозі з логом Exim;
  • CVE-2020-28008: Атаки на каталог зі спулом;
  • 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: відсутність прапора close-on-exec для привілейованого неіменованого каналу;
  • CVE-2020-28009: Цілочисленне переповнення функції get_stdinput().



Джерело: opennet.ru

Додати коментар або відгук