CVE-2025-4207
PostgreSQL GB18030: чтение за границей при проверке текста
CVE-2025-4207 — однобайтовое чтение за пределами выделения при валидации некорректного текста GB18030. Обновите PostgreSQL server и libpq: при определённых платформах ввод может вызвать временный отказ в обслуживании.
Кому нужно проверить
Администраторам 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Проверьте версии PostgreSQL server, libpq и статически встроенных клиентских библиотек, а также использование кодировки GB18030 на границах импорта.
- 2Обновите ветки до 17.5, 16.9, 15.13, 14.18, 13.21 или пакета с подтверждённым backport. Проверяйте обновление и сервера, и приложений, использующих libpq.
- 3Если обновление задерживается, временно ограничьте поступление непроверенного GB18030-текста на затронутые процессы и контролируйте доступность. Это ограничение входа не устраняет дефект библиотеки.
- 4После обновления проверьте пакетные версии и логи аварий, восстановите обычные потоки импорта и наблюдайте за сервисом. Не провоцируйте ошибку некорректными входными данными на production.
Проверка PostgreSQL GB18030
Уязвимые компоненты могут быть как сервером, так и клиентской библиотекой.
- 1Проверить сервер и libpq
- 2Определить использование GB18030
- 3Обновить обе стороны
- 4Проверить журналы и доступность
Примеры конфигурации и проверки
psql -X -c 'SHOW server_version;'Нужен доступ к проверяемому экземпляру PostgreSQL; команда только читает номер версии, -X отключает пользовательский psqlrc. Не передавайте пароль в командной строке. Отдельно проверьте версию libpq в приложении и backport поставщика.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.