Вышел релиз SMTP-сервера Exim 4.73, в котором устранены две критические уязвимости, обнаруженные в начале декабря. Уязвимости позволяют выполнить код злоумышленника и повысить свои привилегии в системе.
Ошибка, приводившая к первой уязвимости (CVE-2010-4344), была устранена в версии 4.70, но не была идентифицирована в то время как уязвимость, что привело к наличию проблемы безопасности в пакетах с Exim из состава дистрибутивов с увеличенным сроком поддержки, таких как Debian, RHEL и CentOS. Проблема была связана с возможностью вызова переполнения буфера в функции string_vformat и позволяла злоумышленнику выполнить код на сервере, через указание двух команд MAIL в пределах одной SMTP-сессии в сочетании с передачей огромного сообщения со специальным образом оформленными заголовками.
Вторая уязвимость (CVE-2010-4345), которая исправлена в текущем релизе, позволяла локальному злоумышленнику повысить свои привилегии в системе, через использования возможности по запуску пользователем exim процесса exim с альтернативным файлом конфигурации, в котором можно было указать произвольные команды в блоке spool_directory, которые могли быть выполнены с правами пользователя root. Например, запустив "exim -Ce.conf -q" в файле конфигурации e.conf можно указать выполнение произвольных операций "spool_directory = ${run{/bin/chown user:user /etc/shadow}}".
Кроме исправления уязвимостей, в новой версии представлено несколько мелких улучшений:
- Задействован более новый Clam/AV API (zINSTREAM API) для организации фильтрации контента. Старый API можно включить путем сборки с опцией WITH_OLD_CLAMAV_STREAM=yes;
- Улучшена поддержка OpenSSL: добавлена опция конфигурирования openssl_options, расширены средства диагностики проблем с SSL,
- Дополнительные улучшения поддержки DKIM (DomainKeys Identified Mail). Не связанные с критическими проблемами ошибки DKIM более не направляются в paniclog;
- Реализован оператор reverse_ip;
- Добавлен отладочный режим в ACL ("debug");
- Поддержка множественных условных правил над блоками "Router";
- Блокирование запуска или сборки Exim от пользователя root;
- Добавлена опция tcp_wrappers_daemon_name, позволяющая использовать имена процессов, отличные от "exim";
- Удалены зависимости от определенной в стандарте C99 функции va_copy().
|