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
  • Для 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, в зависимости от системы

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

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

  1. Ограничьте доступ к 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 ```

  2. Используйте WAF (Web Application Firewall):

    • Настройте WAF (например, ModSecurity с соответствующим набором правил) перед сервером Exim для фильтрации и блокировки аномальных или подозрительных SMTP-команд и данных, содержащих длинные строки base64.
  3. Отключите ненужные функции (если допустимо):

    • В конфигурационном файле Exim (/etc/exim4/exim4.conf.template или /etc/exim/exim.conf) рассмотрите возможность отключения поддержки аутентификации, если она не используется, или ужесточите правила приема вложений. Однако это не гарантирует полной защиты от данной уязвимости.

Важно: Временные решения лишь снижают риск атаки. Полное устранение уязвимости возможно только путем установки обновления.