В популярном почтовом сервере Exim найдена критическая уязвимость, позволяющая удаленному злоумышленнику выполнить свой код на сервере с привилегиями суперпользователя. Уязвимость была выявлена в результате анализа причин взлома одного из серверов. Проанализировав собранный при помощи tcpdump слепок трафика на момент взлома, было выявлено, что взлом был произведен через определенным образом оформленный в секции "DATA" сверхбольшой блок данных, содержащий в своем теле блок "HeaderX: ${shell-код}".

С целью предотвращения волны проведения атак, до выпуска обновления представлено только общее описание техники взлома, детали не разглашаются. Так как в определенных кругах подробности с методом эксплуатации данной проблемы уже известны, всем администраторам рекомендуется переконфигурировать Exim для работы под непривилегированным пользователем и заблокировать возможность выполнения suid-программ в дисковом разделе с почтовым спулом.

В атакованной системе использовался пакет из состава Debian GNU/Linux, в котором Exim работает с правами непривилегированного пользователя Debian-exim. На первой фазе атаки в каталоге /var/spool/exim4 был сформирован файл "setuid" c кодом, призванным предоставить shell-доступ, а также файл e.conf с инструкцией по установке флага suid root для первого файла ("spool_directory = ${run{/bin/chown root:root /var/spool/exim4/setuid}}${run{/bin/chmod 4755 /var/spool/exim4/setuid}}"). После инициирования запуска "exim -Ce.conf -q", последующее выполнение /var/spool/exim4/setuid предоставило злоумышленникам root shell.

Обновление с исправлением проблемы пока недоступно, также не ясно какие именно версии Exim подвержены проблеме (уязвимость была продемонстрирована в пакете exim4-daemon-light 4.69-9 из Debian GNU/Linux). Проконтролировать выход обновлений для различных дистрибутивов можно на следующих страницах: Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu, FreeBSD, NetBSD.

Дополнение: Paul Fisher и James E. Blair смогли запустить эксплоит, обнаружив, что для удаленного запуска кода он использует ошибку номер 787, исправленную в версии 4.70, но не вошедшую в пакет для debian stable. Релиз Exim 4.70 вышел в ноябре прошлого года, поэтому уязвимости подвержены давно не обновлявшие exim-пакет дистрибутивы, такие как Debian, RHEL и CentOS. Возможность запуска команд от пользователя root при обработке внешнего файла конфигурации через запуск "exim -Ce.conf -q" наблюдается во всех версиях пакета Exim (в частности, в пакете с Exim 4.72 из состава Debian).

Источник: http://www.opennet.ru/opennews/art.shtml?num=28945