Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

PowerDNS Recursor 5.4.9 — исправлен сбой при корректной остановке DNS-сервера

26 октября 2026 года вышел PowerDNS Recursor 5.4.9. Разработчики устранили ошибку, из-за которой DNS-сервер мог аварийно завершаться при команде rec_control quit-nicely — среди затронутых конфигураций названа SUSE 15.7 с компилятором GCC 13.

PowerDNS Recursor 5.4.9
PowerDNS Recursor 5.4.9

Команда quit-nicely могла завершаться ошибкой сегментации

PowerDNS Recursor — программа, которая обрабатывает DNS-запросы: помогает устройствам находить IP-адреса сайтов и других интернет-сервисов. Для администрирования работающего сервера используется утилита rec_control.

Одна из её команд, quit-nicely, предназначена для аккуратной остановки. При таком завершении сервер позволяет рабочим потокам закончить текущие операции и освобождает занятые ресурсы. Это отличается от команды quit, при которой завершение процесса оставляет очистку ресурсов операционной системе.

В предыдущих сборках при выполнении rec_control quit-nicely в некоторых программных окружениях возникала ошибка сегментации (segmentation fault). Процесс обращался к области памяти, которая к тому моменту уже была освобождена. Такой сбой мог появиться именно во время остановки службы, поэтому его легко было принять за общую проблему операционной системы или сценария перезапуска.

Причина сбоя PowerDNS — порядок очистки TCP-соединений

PowerDNS Recursor одновременно обслуживает множество запросов и ведёт учёт TCP-соединений с клиентами. Часть данных хранится отдельно для каждого рабочего потока. При остановке эти потоки и связанные с ними объекты последовательно уничтожаются.

Разработчики выяснили, что порядок удаления объектов различается в зависимости от среды выполнения. Иногда таблица учёта TCP-клиентов исчезала раньше самих соединений. Когда закрывавшееся соединение пыталось обратиться к таблице, возникала ошибка обращения к уже освобождённой памяти (use-after-free). В обсуждении исправления упомянута и возможность двойного освобождения памяти (double-free).

Подтверждённый пример — SUSE 15.7 с GCC 13. Для исправления разработчики изменили время жизни таблицы: теперь она сохраняется на протяжении очистки рабочих потоков. Именно эту правку перенесли в ветку 5.4.x через запрос на слияние #18231.

История ошибки прослеживается и в исходном обсуждении #18216, где описан механизм сбоя. Поэтому у обновления есть конкретный практический смысл для администраторов, сталкивающихся с падением Recursor при штатном завершении процесса.

PowerDNS Recursor 5.4.9 и 5.3.14 получили одинаковое исправление

26 октября команда PowerDNS выпустила сразу две версии: 5.4.9 для актуальной ветки и 5.3.14 для предыдущей. Обе устраняют описанную ошибку остановки. В официальном списке изменений версии 5.4.9 присутствует одна исправленная проблема; новых пользовательских функций для неё не заявлено.

Для сравнения, выпущенная 21 октября версия 5.4.8 устраняла проблемы из бюллетеня безопасности PowerDNS Security Advisory 2026-12. Исправление от 26 октября относится к отдельному сценарию — освобождению памяти при завершении Recursor. В анонсе 5.4.9 разработчики не представляют его как новую отдельную уязвимость с присвоенным CVE.

Официальная документация позволяет проверить версию уже работающего сервера командой rec_control version. Доступные пакеты для дистрибутивов Linux размещаются в репозиториях проекта, а исходный код — на сервере загрузок PowerDNS. Для ветки 5.3 проект предусматривает выпуск критических исправлений, тогда как 5.4 остаётся основной поддерживаемой веткой.

Исправление затрагивает завершение процесса, а не обработку обычных DNS-запросов

По опубликованным материалам, ошибка проявлялась при последовательном освобождении ресурсов после quit-nicely. Разработчики привели один конкретный пример окружения, но не опубликовали полного перечня платформ, на которых наблюдался сбой.

В результате PowerDNS Recursor 5.4.9 устраняет известную зависимость от порядка уничтожения объектов при остановке службы. Вопрос о том, насколько часто этот сценарий возникал за пределами указанной конфигурации SUSE, официальное сообщение не раскрывает.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться