CVE-2019-16928

Exim Exim Internet Mailer

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-03-03

Официальное описание

Exim contains an out-of-bounds write vulnerability which can allow for remote code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (CVE-2019-16928) — это переполнение буфера (out-of-bounds write) в демоне Exim при обработке команды BDAT в рамках протокола SMTP. Атакующий может отправить специально сформированный запрос, который приводит к повреждению памяти и потенциальному выполнению произвольного кода с правами пользователя exim (обычно exim или root).

Как исправить

Необходимо обновить Exim до исправленной версии. Конкретные версии зависят от ветки релизов:

  • Exim 4.92.2 и выше (ветка 4.92.x)
  • Exim 4.92.1 с патчем 0001-Fix-out-of-bounds-write-in-receive_msg.patch
  • Exim 4.91 и 4.90 считаются устаревшими и не поддерживаются. Требуется обновление до 4.92.x.

Для Debian/Ubuntu:

# Обновите индекс пакетов и установите последнюю доступную версию
sudo apt update
sudo apt install exim4
# Проверьте установленную версию
exim --version

Для RHEL/CentOS 7/8:

# Используйте yum или dnf для обновления
sudo yum update exim
# или
sudo dnf update exim
# Проверьте установленную версию
exim --version

Для сборки из исходников: 1. Скачайте исправленную версию с официального сайта: https://ftp.exim.org/pub/exim/exim4/ 2. Соберите и установите согласно инструкции.

Временное решение

Если немедленное обновление невозможно, примените следующие меры:

  1. Ограничьте доступ по SMTP: Настройте сетевой экран (iptables, firewalld) или группу безопасности (Security Group) так, чтобы принимать SMTP-соединения (порт 25/tcp) только от доверенных IP-адресов (например, от ваших почтовых клиентов или релеев). bash # Пример для iptables (разрешить только с 192.168.1.0/24) sudo iptables -A INPUT -p tcp --dport 25 -s 192.168.1.0/24 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 25 -j DROP

  2. Отключите поддержку команды BDAT: Если в вашей конфигурации не требуется поддержка протокола ESMTP CHUNKING, отключите её в конфигурационном файле Exim (/etc/exim/exim.conf или аналог). Найдите и установите: # В главной секции конфигурации disable_chunking_advertise = true Важно: Это может нарушить работу некоторых современных почтовых клиентов или серверов.

  3. Используйте WAF/IPS: Настройте межсетевой экран уровня приложений (WAF) или систему предотвращения вторжений (IPS) на блокировку аномальных или подозрительных SMTP-команд BDAT.