Критическая уязвимость в конфигурациях Postfix, использующих SASL-библиотеку Cyrus
10 мая 2011 года
В почтовом сервере Postfix обнаружена одна из самых серьезных проблем безопасности за всю историю существования проекта. Уязвимость проявляется только при использовании Postfix совместно с SASL-библиотекой Cyrus и задействовании методов аутентификации, отличных от PLAIN, LOGIN и ANONYMOUS, например, проблема присутствует при использовании методов CRAM-MD5, DIGEST-MD5, EXTERNAL, GSSAPI, KERBEROS_V4, NTLM, OTP, PASSDSS-3DES-1 и SRP. Уязвимость не затрагивает код SMTP-клиента и проявляется только для сервера, в настройках которого активированы параметры "smtpd_sasl_auth_enable = yes" и "smtpd_sasl_type = cyrus".
Разработчики не исключают возможность создания эксплоита, который позволит организовать выполнение кода злоумышленника на почтовом сервере с правами непривилегированного пользователя "postfix". Пользователь postfix ограничен в своих правах и не может влиять на работу рабочих процессов почтового сервера, но теоретически может быть использован для эксплуатации незакрытых системных уязвимостей. Поэтому для усиления защиты рекомендуется активировать в конфигурации функцию дополнительной изоляции рабочих процессов, через их помещение в chroot. В качестве временного решения проблемы, можно запретить использование методов аутентификации, отличных от PLAIN и LOGIN (в конфигурации Cyrus (smtpd.conf) нужно указать "mech_list: PLAIN LOGIN").
Уязвимость присутствует во всех версиях Postfix, выпущенных начиная с 13 марта 2000 года. Уязвимость исправлена в оперативно выпущенных обновлениях 2.5.13, 2.6.10, 2.7.4 и 2.8.3, а также в тестовых сборках Postfix 2.9, выпущенных начиная с 1 мая. Дополнительно подготовлены патчи для всех ранее выпущенных версий Postfix, начиная с релиза Postfix 1.1. Обновления с исправлением уязвимости уже выпущены для FreeBSD, но пока недоступны для Linux-дистрибутивов. Статус выхода исправлений можно отследить на следующих страницах: Gentoo, Mandriva, openSUSE, CentOS, Fedora (Архивная копия от 18 января 2012 на Wayback Machine), RHEL, Debian, Ubuntu.
Уязвимость вызвана ошибкой, приводящей к выходу за допустимые границы памяти, в коде разработанного в недрах проекта патча для обеспечения работы SASL на базе библиотеки Cyrus. Ошибка проявляется в случае, если после сбоя аутентификации, в рамках той же сессии осуществлена попытка использования другого метода аутентификации. Проблема связана с тем, что в соответствии с рекомендациями по использованию кода Cyrus SASL, в случае сбоя аутентификации необходимо инициализировать новый обработчик, который следует использовать для обслуживания следующего запроса клиента. В ситуации с Postfix, создание нового обработчика завершалось сбоем и последующие попытки аутентификации приводили к повреждению используемых другими подсистемами областей памяти.
1 S: 220 server.example.com ESMTP 2 C: EHLO client.example.com 3 S: 250-server.example.com 4 S: ...other server output skipped... 5 S: 250-AUTH DIGEST-MD5 LOGIN PLAIN CRAM-MD5 6 S: 250-AUTH=DIGEST-MD5 LOGIN PLAIN CRAM-MD5 7 S: ...other server output skipped... 8 C: AUTH CRAM-MD5 9 S: 334 PDg5ODE0OTI3MS4xMDQyMTg1OUBzZXJ2ZXIuZXhhbXBsZS5jb20+Cg== 10 C: 11 S: 501 5.7.0 Authentication aborted 12 C: AUTH DIGEST-MD5 13 Connection closed by foreign host.
Источники
править- Главная ссылка к новости (http://permalink.gmane.org/gma...)(недоступная ссылка)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.