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. Соберите и установите согласно инструкции.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Ограничьте доступ по 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 -
Отключите поддержку команды BDAT: Если в вашей конфигурации не требуется поддержка протокола ESMTP CHUNKING, отключите её в конфигурационном файле Exim (
/etc/exim/exim.confили аналог). Найдите и установите:# В главной секции конфигурации disable_chunking_advertise = trueВажно: Это может нарушить работу некоторых современных почтовых клиентов или серверов. -
Используйте WAF/IPS: Настройте межсетевой экран уровня приложений (WAF) или систему предотвращения вторжений (IPS) на блокировку аномальных или подозрительных SMTP-команд
BDAT.