Skip to content
RiverCore
PostgreSQL закрыл 11 CVE, включая RCE в модуле refint
PostgreSQL CVEdatabase securityRCE vulnerabilityPostgreSQL refint stack overflow RCE fixPostgreSQL 11 CVEs versions 14 to 18

PostgreSQL закрыл 11 CVE, включая RCE в модуле refint

23 июн 20266 мин. чтенияAlex Drover

Любой, кто обслуживал основной узел Postgres за платёжным сервисом, знает это чувство тревоги, когда в понедельник утром приходит уведомление безопасности. Просматриваешь список CVE, ищешь «RCE» и «replication», и мысленно начинаешь перекраивать рабочую неделю. Майский релиз от PostgreSQL Global Development Group от 19 мая — именно такой понедельник. Одиннадцать исправлений безопасности, четыре из них с оценкой 8.8 по CVSS, и один вектор удалённого выполнения кода через contrib-модуль, который поставляется с Postgres уже несколько десятилетий.

Что произошло

Как сообщает GBHackers News, PostgreSQL Global Development Group выпустила новые минорные версии для всех поддерживаемых веток: 18.4, 17.10, 16.14, 15.18 и 14.23. Пакет обновлений устраняет 11 уязвимостей и более 60 функциональных ошибок. Все версии с 14 по 18 затронуты хотя бы частью проблем.

Именно разброс по критичности делает этот релиз неприятным. Четыре CVE получили оценку 8.8 по шкале CVSS. CVE-2026-6473 — целочисленное переполнение, вызывающее запись за пределами буфера и аварийное завершение сервера. CVE-2026-6475 — атака через символические ссылки на pg_basebackup и pg_rewind, позволяющая злоумышленнику перезаписывать произвольные файлы. CVE-2026-6477 затрагивает libpq: функции работы с большими объектами lo_* могут быть использованы вредоносным сервером для перезаписи памяти в клиентском процессе. А CVE-2026-6637 — главная угроза: переполнение стека в модуле refint, которое в сочетании с SQL-инъекцией открывает возможность для RCE.

Уязвимости среднего уровня также нельзя игнорировать. CVE-2026-6476 — SQL-инъекция в pg_createsubscriber, выполняющая произвольный SQL с правами суперпользователя, оценка 7.2. CVE-2026-6479 — рекурсивная уязвимость SSL/GSS с рейтингом 7.5, позволяющая удалённому вызывающему заблокировать сервер через соединения сокетов. CVE-2026-6478 утечка паролей в хэше MD5 через временной side-канал при аутентификации.

Две утечки информации (CVE-2026-6474 и CVE-2026-6575) завершают список вместе с более мелкими инъекционными проблемами в CREATE TYPE и REFRESH PUBLICATION. Релиз также включает tzdata 2026b, учитывающую переход Британской Колумбии на постоянное летнее время в ноябре 2026 года.

Техническая анатомия

Паттерны уязвимостей рассказывают историю о том, где у Postgres расширилась поверхность атаки. Выделяются три группы.

Инструменты репликации и резервного копирования. Пять из одиннадцати CVE находятся в операционных инструментах, а не в самом SQL-движке. pg_basebackup, pg_rewind, pg_createsubscriber и путь REFRESH PUBLICATION — все они присутствуют. Эти инструменты по определению работают с повышенными привилегиями. Они обращаются к файловой системе, координируются с удалёнными узлами, вызывают SQL суперпользователя. Атака через символические ссылки в CVE-2026-6475 — классическая схема: привилегированный процесс следует по пути без предварительной валидации, и злоумышленник, контролирующий промежуточные директории, превращает это в произвольную перезапись файлов. Инъекция в pg_createsubscriber ещё опаснее, поскольку изначально выполняет SQL с правами суперпользователя.

Границы доверия между клиентом и сервером. CVE-2026-6477 инвертирует привычную модель угроз. Большинство воспринимают сервер базы данных как защищаемый актив. Эта ошибка показывает: враждебный сервер может повредить память в любом клиенте, слинкованном с libpq. Это значит — серверы приложений, пакетные воркеры, BI-инструменты и всё остальное, удерживающее соединение. Если вы получаете строку подключения из сервиса конфигурации, и этот сервис будет скомпрометирован, ваш процесс приложения станет мишенью.

Contrib-модули, которые никто не проверяет. Модуль refint — это contrib-код, появившийся ещё до большинства нынешних коммиттеров Postgres. CVE-2026-6637 объединяет переполнение буфера стека с SQL-инъекцией для достижения RCE. Команды, с которыми я работал, как правило устанавливали contrib-пакеты пачкой, не проверяя, какие модули реально загружаются. Эта привычка стала дорогостоящей.

Атака по времени на MD5 (CVE-2026-6478) — самый давний повод для стыда в этом списке. Аутентификация по паролю с MD5 считается устаревшей практикой уже несколько лет. PostgreSQL Global Development Group явно рекомендует перейти на SCRAM-SHA-256. Если ваш кластер всё ещё использует MD5, эта CVE — ваш толчок к действию.

Кого это затронет

iGaming и финтех-компании — очевидные цели. Оба сектора используют Postgres как основную систему хранения данных под регуляторным наблюдением. CVSS 8.8 RCE на базе данных рядом с карточными данными означает внеплановое окно обслуживания, проверку безопасности и письмо регулятору. Производственные инциденты, которые я видел в период паники из-за патчей, как правило происходят из-за пропущенного staging, а не из-за самого патча. Патч скучный. 3-часовой откат, потому что кто-то забыл про replication slot — нет.

Команды инфраструктуры в crypto и DeFi, запускающие индексеры и аналитические пайплайны на репликах Postgres, должны внимательно изучить CVE-2026-6477. Многие из этих стеков подключаются к публичным или полупубличным провайдерам нод. Если ваш клиент libpq подключается к чему-то, что вы не полностью контролируете, предположение о доверии только что изменилось.

Ad-tech подвержен уязвимости из-за масштаба. Топологии репликации в этом секторе, как правило, разрастаются: десятки реплик для чтения, логические публикации, ветвящиеся к загрузчикам хранилищ, кастомные подписчики. CVE-2026-6476 и CVE-2026-6638 живут именно в этой инфраструктуре.

Самый жёсткий дедлайн — у тех, кто всё ещё на PostgreSQL 14. Конец поддержки наступает 12 ноября 2026 года. После этой даты обновления безопасности не выходят. Это примерно пять месяцев с момента этого релиза на планирование, тестирование и выполнение обновления до новой мажорной версии. Для команды, управляющей несколькими кластерами с логической репликацией и кастомными расширениями, пять месяцев — это мало, а не много. Мажорные обновления — это не apt upgrade. Они включают проверку совместимости расширений, регрессии в планах запросов и, как правило, репетицию pg_upgrade на реальных объёмах данных.

Моё мнение: ноябрьский EOL для 14-й версии застанет врасплох больше команд, чем сами CVE. Патч до 14.23 даёт вам время, но не финальную точку. Если в вашем роадмапе ещё нет запланированной миграции на Postgres 16 или 17, она должна появиться в этом квартале.

План действий для инженерных команд

Порядок действий на ближайшие две недели:

На этой неделе. Проведите инвентаризацию ваших инсталляций Postgres по мажорным версиям. Определите, какие кластеры загружают refint или предоставляют pg_basebackup, pg_rewind или pg_createsubscriber в неадминистративных контекстах. Убедитесь, используется ли MD5-аутентификация где-либо в pg_hba.conf. Если да — запланируйте переход на SCRAM-SHA-256. Разверните пропатченные минорные версии (18.4, 17.10, 16.14, 15.18, 14.23) через staging в стандартном порядке. Минорное обновление, как правило, это перезапуск, а не дамп и восстановление.

Следующие две недели. Проведите аудит привилегий для ролей репликации и подписки. CVE-2026-6476 опасна только в случае, если недоверенный SQL может достичь pg_createsubscriber. Ограничьте grants для ролей так, чтобы этого не происходило. Проверьте, какие contrib-расширения реально используются. Если refint не несёт нагрузки — удалите его. Для наблюдаемости подключите сигналы запросов и аварийных завершений к существующей телеметрии. Инструментация OpenTelemetry вокруг Postgres-клиента позволяет обнаружить аномальные паттерны запросов или перегрузку соединений, которые могут свидетельствовать о попытках эксплуатации.

В этом квартале. Если вы на версии 14, начинайте план обновления прямо сейчас. Проведите пробный запуск pg_upgrade на снимке производственного объёма данных. Составьте каталог зависимостей версий всех расширений. Запустите ваши самые медленные аналитические запросы на новой версии и проверьте изменения в планах.

Неудобная правда: большинство команд установят минорную версию, объявят победу и проигнорируют работу по привилегиям ролей и очистке MD5. Именно эти команды прочитают о себе в отчёте об утечке данных в следующем году.

Ключевые выводы

  • Обновитесь до 18.4, 17.10, 16.14, 15.18 или 14.23 в рамках стандартного цикла минорных релизов. Четыре из 11 CVE получили оценку 8.8, включая цепочку RCE в refint (CVE-2026-6637).
  • Поверхность атаки сместилась в инструменты репликации и резервного копирования. Пять CVE находятся в pg_basebackup, pg_rewind, pg_createsubscriber и путях публикации.
  • Откажитесь от MD5-аутентификации. CVE-2026-6478 раскрывает хэши паролей через временной side-канал. SCRAM-SHA-256 — задокументированная замена.
  • CVE-2026-6477 инвертирует доверие между клиентом и сервером. Любой клиент, слинкованный с libpq и подключающийся к недоверенному серверу, теперь входит в зону риска.
  • PostgreSQL 14 достигает конца поддержки 12 ноября 2026 года. Планируйте обновление до новой мажорной версии в этом квартале, а не в следующем.

Часто задаваемые вопросы

В: Какие версии PostgreSQL затронуты майским обновлением безопасности 2026 года?

Затронуты все поддерживаемые ветки от PostgreSQL 14 до 18. Исправленные версии: 18.4, 17.10, 16.14, 15.18 и 14.23. Любая более старая минорная версия остаётся уязвимой.

В: Какая уязвимость в этом релизе PostgreSQL наиболее критична?

Четыре CVE делят высший балл критичности — CVSS 8.8. Наиболее опасна с операционной точки зрения CVE-2026-6637: переполнение стека в сочетании с SQL-инъекцией в модуле refint, которое может привести к удалённому выполнению кода. CVE-2026-6475 (атака через символические ссылки в pg_basebackup), CVE-2026-6473 (целочисленное переполнение) и CVE-2026-6477 (перезапись памяти клиента libpq) также получили оценку 8.8.

В: Нужно ли срочно мигрировать с PostgreSQL 14?

Немедленно — нет, но времени мало. PostgreSQL 14 достигает конца поддержки 12 ноября 2026 года, после чего обновления безопасности выходить не будут. Патч до 14.23 закрывает текущие уязвимости, однако следует запланировать обновление до мажорной версии 16 или 17 в течение следующего квартала.

AD
Alex Drover
RiverCore Analyst · Dublin, Ireland
ПОДЕЛИТЬСЯ
// RELATED ARTICLES
ГлавнаяРешенияПроектыО насКонтакт
Новости06
Дублин, Ирландия · ЕСGMT+1
LinkedIn
🇷🇺RU