Пользователям PostgreSQL всех поддерживаемых веток необходимо установить обновления. Разработчики выпустили релизы 18.4, 17.10, 16.14, 15.18 и 14.23, которые закрывают 11 уязвимостей. Среди них есть проблемы, позволяющие выполнить код, повысить привилегии, вызвать отказ в обслуживании, изменить данные и получить доступ к фрагментам серверной памяти.
Детали уязвимостей
Наиболее серьёзные уязвимости получили оценку 8.8 балла по шкале CVSS. В нескольких компонентах сервера ошибка расчёта размера выделяемой памяти приводит к записи за пределами буфера. Это чревато аварийным завершением работы или выполнением произвольного кода. Аналогичную оценку имеет проблема в модуле поддержки ссылочной целостности (refint): из-за переполнения стека непривилегированный пользователь базы данных может выполнить код с правами учётной записи операционной системы, под которой работает PostgreSQL. Дополнительно в модуле возможна SQL-инъекция, если приложение объявляет управляемый пользователем столбец как каскадный первичный ключ и разрешает вносить в него изменения.
Ещё одна уязвимость высокой степени опасности затрагивает клиентскую библиотеку libpq. При работе с большими объектами библиотека использует опасную функцию, позволяющую серверу перезаписать стек клиентского приложения. Практический сценарий выглядит так: суперпользователь сервера подготавливает ответ таким образом, что при выполнении pg_dump или psql на стороне клиента происходит переполнение буфера. Это потенциально ведёт к выполнению кода на машине пользователя.
В списке также две SQL-инъекции. Уязвимость CVE-2026-6476 присутствует в утилите pg_createsubscriber. Пользователь, обладающий правом pg_create_subscription, может при следующем запуске утилиты выполнить произвольный SQL с правами суперпользователя. Вторая проблема связана с логической репликацией: при обновлении подписки через ALTER SUBSCRIPTION ... REFRESH PUBLICATION создатель таблицы на стороне подписчика получает возможность выполнить SQL-код с учётными данными стороны публикации.
Отдельного внимания заслуживает уязвимость CVE-2026-6478, затрагивающая аутентификацию. Из-за неравномерного времени сравнения MD5-хешей паролей атакующий может по косвенным признакам восстановить учётные данные. Эта проблема не влияет на пароли, использующие современный механизм scram-sha-256, который применяется по умолчанию. Однако в базах, обновлённых со старых версий PostgreSQL, могут остаться MD5-пароли, и их стоит перевести на новый формат.
Есть и менее опасные уязвимости. Некорректная обработка временных зон в функции timeofday() позволяет раскрыть фрагменты серверной памяти (оценка 4.3). Ошибка в функции восстановления статистики приводит к чтению за пределами массива, что даёт владельцу таблицы узнать содержимое памяти (4.3). Уязвимость CVE-2026-6479 вызывает отказ в обслуживании через неконтролируемую рекурсию при инициализации защищённых соединений (7.5). Для эксплуатации требуется возможность подключения к сокету, в некоторых случаях достаточно сетевого доступа.
Проблема CVE-2026-6472 связана с отсутствием проверки прав при создании составного типа данных. Объект-создатель может перехватить запросы других пользователей, подменив тип в схеме поиска, и заставить жертву выполнить произвольные SQL-функции. Оценка - 5.4 балла.
Уязвимость CVE-2026-6475 касается утилит резервного копирования и синхронизации pg_basebackup и pg_rewind. Из-за следования по символьным ссылкам суперпользователь, запускающий утилиты, может перезаписать произвольные файлы в операционной системе, включая файлы конфигурации. Атака требует дополнительных действий между запуском утилиты и стартом сервера, например переноса файлов на другой сервер или создания снимка виртуальной машины. В таких условиях она может привести к захвату учётной записи ОС.
Обновления затрагивают все поддерживаемые ветки: 18, 17, 16, 15 и 14. Для каждой выпущена соответствующая минорная версия. Разработчики напоминают, что PostgreSQL 14 будет получать исправления до 12 ноября 2026 года, после чего поддержка прекратится. Тем, кто использует эту версию в производственной среде, следует планировать переход на более новую.
Пользователям рекомендуется обновить PostgreSQL до версий 18.4, 17.10, 16.14, 15.18 или 14.23 в зависимости от используемой ветки. Также стоит проверить, не используются ли в базах данных MD5-пароли, и по возможности перевести их на scram-sha-256. Для систем, где применяются pg_basebackup и pg_rewind, следует обратить внимание на безопасность их запуска и хранения файлов.
Выпущенный набор исправлений закрывает широкий спектр проблем - от локального повышения привилегий до потенциально опасных переполнений буфера. Учитывая, что некоторые уязвимости могут эксплуатироваться удалённо, установку патчей лучше не откладывать.
Ссылки