Новая версия почтового сервера Exim 4.88 с устранением уязвимостей


Представлен релиз почтового сервера Exim 4.88, в который внесены накопившиеся исправления, добавлены новые возможности и устранены опасные уязвимости. В соответствии с февральским автоматизированным опросом более двух миллионов почтовых серверов, доля Exim составляет 55.49% (год назад 54.15%), Postfix используется на 33.06% (32.63%) почтовых серверов, Sendmail — 5.42% (6.18%), Microsoft Exchange — 1.24% (1.83%).

В Exim 4.88, а также в корректирующем обновлении Exim 4.87.1, устранена опасная уязвимость (CVE-2016–9963), которая может привести к утечке закрытого ключа DKIM. Проблема проявляется только в системах, в которых включено формирование цифровых подписей DKIM, а для доставки используются протоколы LMTP или PRDR. В такой конфигурации возможно создание ситуаций, при которых закрытый ключ будет отображён в логах. Если на почтовом сервере включена экспериментальная опция «DSN_INFO» (EXPERIMENTAL_DSN_INFO=yes), то закрытый ключ может появиться и в отправляемых во вне сообщениях DSN.

В новом выпуске также устранена потенциальная уязвимость, которая позволяет через выполнение действий под идентификатором пользователя почтового сервера Exim, получить доступ в root shell через манипуляцию с символическими ссылками в директории со спулом сообщений. Для экспериментов доступен прототип эксплоита.

Не связанные с уязвимостями изменения:

  • Добавлена опция perl_taintmode, позволяющая запустить встроенный интерпретатор perl в режиме taint, в котором применяются дополнительные проверки безопасности;
  • Добавлен новый транспорт queuefile (EXPERIMENTAL_QUEUEFILE), который может применяться для передачи копий файлов из спула сообщений для проверки во внешних почтовых сканерах;
  • Добавлена поддержка режима быстрого открытия TCP-соединений (TFO — TCP Fast Open, RFC 7413), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения и даёт возможность отправки данных на начальном этапе установки соединения. Для включения TFO следует использовать опцию hosts_try_fastopen;
  • Включена по умолчанию проверка наличия дискового пространства и inode для файловых систем со спулом и логами. По умолчанию опции check_{log, spool}_{inodes, space} выставлены в значения 100 inode и 10MB свободного пространства;
  • Реализовано расширение «CHUNKING ESMTP», определённое в RFC 3030, применение которого может привести к небольшому росту производительности и снижению сетевой нагрузки. Расширение включается конфигурационной опцией chunking_advertise_hosts в основном файле конфигурации или опцией hosts_try_chunking в числе параметров транспорта smtp;
  • Добавлена экспериментальная поддержка выборок из БД LMDB;
  • Новый оператор для вычисления хэша над строкой: ${sha3: Строка} или ${sha3_Номер: Строка}, где Номер может быть 224, 256 (по умолчанию, 384 и 512;
  • Добавлены средства для работы с именованными очередями: в командной строке может быть задан аргумент с именем очереди для связанных с очередями операций, а также может быть задан модификатор ACL для выбора очереди для сообщения. Имя очереди доступно через переменную $queue_name;
  • Новые операторы base32 и base32d;
  • Добавлен оператор escape8bit, похожий на escape, но не экранирующий символы перевода строки;
  • Реализован новый параметр log_selector «dnssec», при указании которого в строки принятия и доставки добавляется тег «DS»;
  • Добавлен спекулятивный режим отладки, реализованный через опцию «kill» в модификаторе ACL «control=debug»;
  • В ACL-блок cutthrough_delivery добавлена поддержка опции defer=pass при которой полученный от целевого хоста код возврата 4xx сразу возвращается инициатору запроса, вместо помещения сообщения в спул;
  • В пробрасываемых (cutthrough) соединениях обеспечено использование параметра SIZE для MAIL FROM, если целевой хост поддерживает его и известен размер данных;
  • Если в основных настройках не выставлен параметр tls_certificate, Exim теперь сгенерирует самоподписанный сертификат при обработке входящих TLS-соединений;
  • Добавлена поддержка библиотек Radius, возвращающих код REJECT_RC;
  • Ускорены запуск основного процесса и установка TCP-соединения;
  • Добавлена новая опция ведения логов syslog_pid;
  • Проведена чистка от устаревших возможностей. Из состава удалены ACL-условие «demime» (следует использовать acl_smtp_mime и acl_not_smtp_mime) и опция gnutls_require_mac.

© OpenNet