CVE-2025-8714
PostgreSQL pg_dump: недоверенные данные выполняют команды при restore
CVE-2025-8714 требует вредоносного суперпользователя исходного PostgreSQL-сервера и выполнения подготовленного dump через psql. Это не обычная удалённая RCE: обновите клиентские утилиты и принимайте дампы только из доверенных источников.
Кому нужно проверить
Администраторам PostgreSQL, DBA и операторам миграций, которые принимают дампы от внешних или менее доверенных владельцев серверов. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Вредоносный суперпользователь источника может вложить в дамп psql meta-commands. При восстановлении они выполняются как пользователь ОС, запустивший psql. Эффект ограничен правами restore-клиента и не означает, что любой подключённый удалённый пользователь получает RCE.
Затронутые версии
Затронуты pg_dump и pg_dumpall до PostgreSQL 17.6, 16.10, 15.14, 14.19 и 13.22; pg_restore затронут, когда формирует plain-text dump. Для эксплуатации требуется злонамеренный суперпользователь исходного сервера и последующее восстановление дампа через psql под учётной записью ОС клиента. PostgreSQL 12 и старше не перечислены на advisory; не выводите для них диапазон без проверки поставщика.
Исправленные версии
Исправлено в PostgreSQL 17.6, 16.10, 15.14, 14.19 и 13.22. Обновите именно инструменты, создающие и восстанавливающие dump, даже если сервер назначения уже исправлен; учитывайте backport дистрибутива.
Что сделать
- 1Определите версии всех pg_dump, pg_dumpall и pg_restore, используемых в рабочих станциях, CI, контейнерах и заданиях миграции; версия целевого сервера сама по себе не определяет безопасность клиента.
- 2Обновите клиентские утилиты до 17.6, 16.10, 15.14, 14.19, 13.22 или исправленного пакета поставщика. Проверьте совместимость dump/restore на тестовом окружении.
- 3До обновления не восстанавливайте plain dump из недоверенного источника через psql под привилегированной ОС-учётной записью. Проводите проверку и восстановление в изолированной среде с минимальными правами; это временная мера, а не замена обновлению.
- 4После обновления подтвердите версию реально запускаемых утилит, выполните плановый тестовый restore из доверенной копии и проверьте журналы, файлы и права доступа. Не считайте, что pg_restore custom-format автоматически безопасен: учитывайте экспорт в plain text и используемую команду восстановления.
Безопасный restore PostgreSQL dump
Риск возникает на клиенте в момент обработки недоверенного dump.
- 1Проверить источник и версии утилит
- 2Обновить pg_dump/psql
- 3Восстанавливать только в изоляции и с минимальными правами
- 4Проверить итоговый экземпляр и журналы
Примеры конфигурации и проверки
pg_dump --version && pg_restore --version && psql --versionЗапускайте в том же окружении, где выполняются резервное копирование и восстановление. Команды только выводят версии, но PATH может выбрать не тот бинарный файл; для контейнеров/CI проверяйте образ и полный путь. Не указывайте пароли в командной строке.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.