CVE-2010-4345

Exim Exim

ВЕРОЯТНОСТЬ 4.0%

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

2022-03-25

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

Exim allows local users to gain privileges by leveraging the ability of the exim user account to specify an alternate configuration file with a directive that contains arbitrary commands.

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

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

Локальный пользователь с правами учетной записи exim (обычно exim или Debian-exim) может выполнить произвольные команды с правами root. Для этого он указывает альтернативный конфигурационный файл через параметр командной строки (например, -C), в котором прописывает директиву, позволяющую выполнить команду (например, spool_directory или log_file_path с командой в виде макроса ${run{...}}).

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

Установите исправленную версию Exim. Конкретные версии зависят от дистрибутива:

  • Debian/Ubuntu: bash # Для Debian 6.0 (Squeeze) и Ubuntu 10.10 (Maverick) sudo apt-get update sudo apt-get install exim4 # Убедитесь, что установлена версия: # Debian: exim4 4.72-6+squeeze1 или выше # Ubuntu: exim4 4.72-3ubuntu1.1 или выше

  • RHEL/CentOS: bash # Для RHEL/CentOS 5 и 6 sudo yum update exim # Убедитесь, что установлена версия: # RHEL 5: exim-4.63-15.el5_7 или выше # RHEL 6: exim-4.72-6.el6_1.1 или выше

  • Из исходных кодов: Обновитесь до Exim версии 4.72 или выше, где эта уязвимость исправлена.

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

sudo systemctl restart exim4  # или exim, или /etc/init.d/exim4 restart

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

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

  1. Ограничьте права на конфигурационные файлы: Убедитесь, что только root может записывать в основной конфигурационный файл Exim и в директории, где он находится. bash sudo chmod 644 /etc/exim4/exim4.conf.template sudo chown root:root /etc/exim4/exim4.conf.template

  2. Ограничьте использование ключа -C: В главном конфигурационном файле Exim (exim4.conf.template) добавьте или измените параметр trusted_users, чтобы исключить из него пользователя exim (или Debian-exim). Это предотвратит использование альтернативных конфигов. # В секцию main (или в начало конфига) добавьте: trusted_users = root # Или явно удалите exim из списка, если он там был.

  3. Изолируйте учетную запись exim: Убедитесь, что у пользователя exim нет интерактивной оболочки (в /etc/passwd должен быть /usr/sbin/nologin или /bin/false) и нет возможности войти в систему.

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