Аудит кода выявил 21 уязвимость в почтовом сервере Exim

Аудит кода выявил 21 уязвимость в почтовом сервере Exim

Аудит кода выявил 21 уязвимость в почтовом сервере Exim

Аудит кода популярного почтового сервера Exim выявил 21 уязвимость, о которых ранее ничего не было известно. Некоторые из этих брешей можно использовать в связке для удалённого выполнения кода на целевом сервере, для чего даже не требуется аутентификация.

Разработчики уже успели выпустить патчи с версией Exim v4.94.2, посоветовав пользователям как можно скорее установить обновление. Более того, теперь все версии, выпущенные до 4.94.2, признаны устаревшими.

«Апдейт будет включён в ряд дистрибутивов. Вам остаётся лишь установить вышедшие обновления», — рекомендует один из девелоперов Exim Хайко Шлитерман.

Аудит кода Exim провёл исследователь из компании Qualys, в результате чего обнажились более двух десятков уязвимостей, получивших коллективное название «21Nails». Большая часть брешей затрагивает все версии почтового сервера.

Десять выявленных дыр можно использовать удалённо, а некоторые баги даже позволяют злоумышленнику получить права root в атакуемых системах:

  • 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().

Другие 11 дыр эксплуатируются только локально, большинство связано с конфигурацией по умолчанию или с типичной уязвимой настройкой. Технические подробности брешей доступны (TXT) на сайте Qualys.