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" і подумки переплановуєте весь тиждень. Реліз від 19 травня від PostgreSQL Global Development Group — саме такий понеділок. Одинадцять виправлень безпеки, чотири з яких отримали оцінку 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-хешовані паролі через часовий побічний канал під час аутентифікації.

Два витоки інформації (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- та fintech-компанії — очевидна зона ураження. Обидві вертикалі використовують Postgres як систему обліку під регуляторним наглядом. CVSS 8.8 RCE на базі даних, суміжній із карткової інформацією, означає незаплановане вікно змін, перевірку безпеки та лист регулятору. Виробничі інциденти, які я спостерігав під час патч-паніки, зазвичай виникають через пропущене тестове середовище, а не через сам патч. Патч нудний. Відкат о 3-й ранку через забутий слот реплікації — ні.

Команди з інфраструктурою Crypto та DeFi, що запускають індексатори та аналітичні пайплайни на репліках Postgres, повинні уважно вивчити CVE-2026-6477. Багато таких стеків підключаються до публічних або напівпублічних провайдерів вузлів. Якщо ваш libpq-клієнт підключається до чогось, що ви не повністю контролюєте, припущення про довіру щойно змінилося.

Ad-tech-сектор вразливий через масштаб. Топології реплікації в цій вертикалі, як правило, розгалужені: десятки read-реплік, логічні публікації, що розходяться до завантажувачів сховищ, кастомні підписники. 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) через тестове середовище за стандартним регламентом. Саме мінорне оновлення, як правило, потребує лише перезапуску, а не dump-and-restore.

Наступні два тижні. Проаудитуйте привілеї ролей реплікації та підписки. CVE-2026-6476 має значення лише тоді, коли ненадійний SQL може дістатися до pg_createsubscriber. Обмежте видачу ролей, щоб це стало неможливим. Перевірте, які 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 розкриває хешовані паролі через часовий побічний канал. 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
🇺🇦UK