CVE-2018-6789
Exim Exim
2021-11-03
Exim contains a buffer overflow vulnerability in the base64d function part of the SMTP listener that may allow for remote code execution.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2018-6789) — это переполнение буфера в функции base64d демона SMTP Exim. Атакующий может отправить специально сформированное письмо по протоколу SMTP, которое вызовет переполнение буфера в процессе декодирования вложений в кодировке base64. Это может привести к удаленному выполнению произвольного кода с привилегиями пользователя, от которого работает Exim (обычно exim или root).
Как исправить
Необходимо обновить Exim до версии, в которой исправлена данная уязвимость.
-
Для Debian/Ubuntu: Уязвимость устранена в следующих версиях пакетов:
- Debian 9 (stretch):
4.89-2+deb9u3 - Ubuntu 16.04 LTS:
4.86.2-2ubuntu2.2 - Ubuntu 18.04 LTS:
4.90.1-1ubuntu1.1Обновите пакет exim4:bash sudo apt update && sudo apt install --only-upgrade exim4
- Debian 9 (stretch):
-
Для RHEL/CentOS: Уязвимость устранена в пакете
exim-4.89-8.el7для RHEL/CentOS 7. Обновите пакет:bash sudo yum update exim -
Для других дистрибутивов или сборки из исходников: Обновите Exim до версии 4.90.1 или выше. Скачайте исходный код с официального сайта: https://www.exim.org/.
После обновления обязательно перезапустите демон Exim:
sudo systemctl restart exim4 # или exim, postfix, в зависимости от системы
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Ограничьте доступ к SMTP-порту (25/tcp, 587/tcp):
- Настройте сетевой экран (iptables, firewalld) так, чтобы разрешать соединения к SMTP-порту Exim только с доверенных 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 ```
-
Используйте WAF (Web Application Firewall):
- Настройте WAF (например, ModSecurity с соответствующим набором правил) перед сервером Exim для фильтрации и блокировки аномальных или подозрительных SMTP-команд и данных, содержащих длинные строки base64.
-
Отключите ненужные функции (если допустимо):
- В конфигурационном файле Exim (
/etc/exim4/exim4.conf.templateили/etc/exim/exim.conf) рассмотрите возможность отключения поддержки аутентификации, если она не используется, или ужесточите правила приема вложений. Однако это не гарантирует полной защиты от данной уязвимости.
- В конфигурационном файле Exim (
Важно: Временные решения лишь снижают риск атаки. Полное устранение уязвимости возможно только путем установки обновления.