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
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Ограничьте доступ к 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 ```
-
Используйте WAF (Web Application Firewall):
- Разместите перед сервером Exim обратный прокси-сервер с WAF (например, ModSecurity на nginx или специализированный WAF-шлюз). Настройте правила для фильтрации аномальных или слишком длинных SMTP-команд и данных.
-
Ограничьте функциональность Exim (если допустимо):
- В конфигурационном файле Exim (
/etc/exim4/exim4.confили/etc/exim/exim.conf) отключите неиспользуемые аутентификаторы, транспорты и функции. Это не устраняет уязвимость, но сокращает поверхность атаки.
- В конфигурационном файле Exim (
Важно: Временные решения лишь снижают риск и не заменяют установку патча. Запланируйте обновление как можно скорее.