Уязвимости в почтовом сервере Postfix позволяют удалённому клиенту обойти политику безопасности и вызвать аварийное завершение серверного процесса. Исправления вышли седьмого сентября 2026 года. Обновления получили все поддерживаемые ветки продукта. То же самое сделали для нескольких выпусков, снятых с поддержки.
Детали уязвимостей
Postfix - один из самых распространённых почтовых серверов в интернете. Он стоит на периметре сети и принимает письма из внешнего мира. Поэтому уязвимость, которую можно использовать удалённо, интересует злоумышленников в первую очередь. Разработчики оценили найденные проблемы как средние по уровню риска.
Часть исправлений касается контрабанды писем, или SMTP smuggling. Речь о ситуации, когда два почтовых узла по-разному определяют границу между письмами. Одна система видит одно сообщение, другая - два. В результате злоумышленник может протащить письмо мимо фильтров и подделать отправителя.
Эта уязвимость затрагивает не все конфигурации. Она проявляется при включённом режиме smtpd_proxy_filter, который по умолчанию отключён. Такой режим применяют, когда перед основным сервером ставят отдельный фильтр. В одном случае проблема возникает, если сервер после фильтра использует настройки по умолчанию для обработки одиночных символов перевода строки. В другом - если сервер перед фильтром добавляет служебный заголовок о требовании шифрования канала. Обе ошибки нашли специалисты OpenAI Security. Исправления подготовил основной разработчик проекта Витсе Венема.
Отдельная уязвимость приводит к аварийному завершению процесса SMTP-сервера. Она связана с обработкой адресов в кодировке UTF8. Такая кодировка позволяет передавать символы разных алфавитов. Чтобы сработала эта ошибка, нужны две настройки: smtputf8_enable = yes, включённая по умолчанию, и strict_smtputf8 = yes, которая по умолчанию выключена. Злоумышленник отправляет команды MAIL FROM, RCPT TO и VRFY с таким адресом, но без служебного параметра SMTPUTF8. Сервер сбрасывает состояние не полностью. Затем достаточно команды DATA. Процесс завершается аварийно. Ошибку обнаружил Вон Ён Джун.
Ещё один блок исправлений касается изоляции TLS-сессий. Теперь сервер помечает билеты TLS-сессий именем службы из файла master.cf. Благодаря этому одна служба SMTP не принимает билеты, выданные другой службой из того же файла. Раньше такого разделения не было. Это позволяло обойти часть настроек.
Затронуты также механизмы проверки прав на файлы. Команды postmap и postalias теперь предупреждают, когда создают файл базы данных от имени root в каталоге, который принадлежит другому пользователю. Разные владельцы исходного файла, индекса и каталога открывают путь к повышению привилегий. Предупреждение помогает администратору заметить опасную конфигурацию.
Несколько ошибок связаны с обработкой памяти. Вредоносный почтовый фильтр Milter или злоумышленник в разрыве канала могли вызвать чтение за границей блока памяти. Это происходило, когда сервер формировал ответ из нескольких строк. Ещё одна ошибка приводила к обращению по пустому указателю при разборе ответов удалённого сервера. Третья касалась команды postqueue, которая освобождала память до вывода сообщения об аварии.
Ошибка в агенте доставки pipe существовала с 1999 года. Агент удалял аргумент командной строки, если тот содержал имя пользователя, а оно раскрывалось в пустую строку. Из-за этого нарушался порядок аргументов. Похожая по возрасту ошибка нашлась в настройке MySQL-клиента. Параметр tls_verify_cert = yes не действовал при работе с Oracle MySQL 8 и новее. Соединение с базой данных могло остаться без проверки сертификата.
Разработчики также усилили защиту команды postdrop. Теперь она запрещает нулевые символы и знаки переноса строки в конверте очереди. Раньше такие символы позволяли внедрить текст в локальные почтовые ящики. Кроме того, служба миграции с баз данных BerkeleyDB теперь проверяет права на каталоги до принятия решения о запуске postmap или postalias. Агент виртуальной доставки укрепили против скомпрометированной базы данных LDAP или SQL.
Отказ в обслуживании для почтового сервера означает остановку приёма и обработки писем. Организация может потерять входящую корреспонденцию или получить задержки в доставке. Обход политики безопасности, в свою очередь, позволяет провести письмо в обход правил на границе. Для компаний, которые держат собственный почтовый узел, это создаёт риск распространения спама и фишинга от имени их домена.
Уязвимы все выпуски от 3.5 до 3.11 включительно: 3.10.x до 3.10.14, 3.11.x до 3.11.7, 3.6.x до 3.6.21, 3.7.x до 3.7.23, 3.8.x до 3.8.21, 3.9.x до 3.9.15, а также версии ниже 3.5.28.
Уязвимости нашли исследователи компании Qualys при содействии системы Claude Mythos Preview, а также специалисты OpenAI Security. Три дефекта существуют больше двадцати лет. Это показывает, насколько долго ошибки могут жить в коде, который считается проверенным.
Ветки ниже 3.5.28 не поддерживаются. Для них выпустили обновления. Однако в них не вошли прошлые исправления за июнь 2026 года. Те касались больших объёмов данных SMTP и разбора записей TLSA. Эти исправления придётся применять отдельно, иначе часть защиты останется неприменённой.
Исправления доступны в версиях 3.11.7, 3.10.14, 3.9.15, 3.8.21, 3.7.23, 3.6.21 и 3.5.28. Тестовый выпуск 3.12-20260902 тоже содержит эти правки. Владельцам собственных почтовых серверов стоит установить обновление и проверить настройки обработки строк и внешних фильтров. Ошибки двадцатилетней давности напоминают о простом правиле: код, проверенный временем, не становится безопасным сам по себе.
Ссылки