CVE-2010-4344

Exim Exim

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

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

2022-03-25

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

Heap-based buffer overflow in the string_vformat function in string.c in Exim before 4.70 allows remote attackers to execute arbitrary code via an SMTP session.

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

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

Уязвимость (переполнение кучи) в функции string_vformat в Exim до версии 4.70. Удаленный злоумышленник может отправить специально сформированные данные в рамках SMTP-сессии, чтобы вызвать переполнение буфера в памяти (куче). Это может привести к выполнению произвольного кода на сервере с правами пользователя, от которого работает демон Exim (обычно exim или root).

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

Основное решение — обновить Exim до исправленной версии.

  • Для систем на базе Debian/Ubuntu: bash sudo apt update sudo apt install exim4 Убедитесь, что установлена версия пакета 4.70-1 или выше.
  • Для систем на базе RHEL/CentOS: Используйте репозитории EPEL или соберите из исходников. bash # Пример для CentOS 6 (требуется EPEL) sudo yum update exim Убедитесь, что установлена версия 4.70 или выше.
  • Обновление из исходного кода: Скачайте, соберите и установите Exim версии 4.70 или новее с официального сайта. bash wget https://ftp.exim.org/pub/exim/exim4/exim-4.96.tar.gz tar -xzf exim-4.96.tar.gz cd exim-4.96 make sudo make install

После обновления обязательно перезапустите демон:

sudo systemctl restart exim4  # или sudo service exim4 restart

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

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

  1. Ограничьте доступ к SMTP-порту (25/tcp, 587/tcp):

    • Настройте сетевой экран (iptables, firewalld) так, чтобы разрешать соединения к 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):

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

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

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