Все уязвимости

CVE-2025-4207

PostgreSQL GB18030: чтение за границей при проверке текста

CVE-2025-4207 — однобайтовое чтение за пределами выделения при валидации некорректного текста GB18030. Обновите PostgreSQL server и libpq: при определённых платформах ввод может вызвать временный отказ в обслуживании.

Проверено 30 октября 2026PostgreSQL публикует CVSS 3.0 5.9 Medium (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H); сценарий — временный DoS, не чтение секретов или выполнение кода.

Кому нужно проверить

Администраторам PostgreSQL и разработчикам приложений, принимающих текстовые данные через сервер или libpq. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Проверка некорректного текста GB18030 может прочитать один байт за пределом выделенной области. На некоторых платформах это способно завершить процесс сервера или клиента и временно нарушить доступность; advisory не описывает изменение данных или выполнение кода.

Затронутые версии

Затронуты PostgreSQL до 17.5, 16.9, 15.13, 14.18 и 13.21. Ошибка относится к валидации GB18030 на сервере и в libpq; практический эффект зависит от платформы, где однобайтовое чтение может завершить процесс. Поставщики могут выпускать отдельные backport.

Исправленные версии

Исправлено в PostgreSQL 17.5, 16.9, 15.13, 14.18 и 13.21. Обновите и серверные пакеты, и клиентскую libpq там, где она включена в приложения.

Что сделать

  1. 1Проверьте версии PostgreSQL server, libpq и статически встроенных клиентских библиотек, а также использование кодировки GB18030 на границах импорта.
  2. 2Обновите ветки до 17.5, 16.9, 15.13, 14.18, 13.21 или пакета с подтверждённым backport. Проверяйте обновление и сервера, и приложений, использующих libpq.
  3. 3Если обновление задерживается, временно ограничьте поступление непроверенного GB18030-текста на затронутые процессы и контролируйте доступность. Это ограничение входа не устраняет дефект библиотеки.
  4. 4После обновления проверьте пакетные версии и логи аварий, восстановите обычные потоки импорта и наблюдайте за сервисом. Не провоцируйте ошибку некорректными входными данными на production.

Проверка PostgreSQL GB18030

Уязвимые компоненты могут быть как сервером, так и клиентской библиотекой.

  1. 1Проверить сервер и libpq
  2. 2Определить использование GB18030
  3. 3Обновить обе стороны
  4. 4Проверить журналы и доступность

Примеры конфигурации и проверки

Проверить версию PostgreSQL-сервера (shell)
psql -X -c 'SHOW server_version;'

Нужен доступ к проверяемому экземпляру PostgreSQL; команда только читает номер версии, -X отключает пользовательский psqlrc. Не передавайте пароль в командной строке. Отдельно проверьте версию libpq в приложении и backport поставщика.

Как не подпустить ботов к сайту

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

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.