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

CVE-2023-5869

PostgreSQL CVE-2023-5869: переполнение при изменении массива

Недостаточные проверки переполнения при изменении некоторых SQL-массивов позволяли аутентифицированному пользователю PostgreSQL читать память сервера и записывать данные за пределами области памяти. Установите исправление на всех затронутых узлах.

Проверено 27 октября 2026PostgreSQL указывает CVSS 3.0: 8.8 (High), вектор AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Оценка предполагает наличие низких привилегий и сетевую достижимость.

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

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

В чём риск

При изменении некоторых значений SQL-массивов отсутствие проверок переполнения позволяло аутентифицированному пользователю читать широкую область памяти сервера и записывать произвольные байты в память, что могло привести к выполнению кода. Это уязвимость ядра PostgreSQL; не считайте фильтрацию трафика веб-сайта исправлением.

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

Затронуты upstream-ветки 11–16 до исправленных минорных выпусков: 11.22, 12.17, 13.13, 14.10, 15.5 и 16.1 соответственно. Эксплуатация требует аутентифицированного доступа к базе и специально сформированного значения массива.

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

Исправлено в PostgreSQL 11.22, 12.17, 13.13, 14.10, 15.5 и 16.1 (9 ноября 2023 года). Установите актуальный поддерживаемый пакет и проверьте исправления поставщика, включая backport.

Что сделать

  1. 1Проверьте версию сервера на каждом узле, включая реплики и отдельные экземпляры; для пакетов дистрибутива сверьте исправление с его advisory.
  2. 2Ограничьте подключения к базе только необходимыми сетями и ролями. До обновления уберите ненужный доступ недоверенных пользователей; учитывайте влияние на приложения и резервные задания.
  3. 3Установите исправленный поддерживаемый выпуск: не ниже 11.22, 12.17, 13.13, 14.10, 15.5 или 16.1 для соответствующей upstream-ветки, либо подтверждённый backport.
  4. 4Проведите обновление по процедуре поставщика, затем проверьте версии всех узлов и штатную работу приложений.
  5. 5При подозрении на эксплуатацию сохраните журналы и расследуйте действия ролей с доступом к базе; не запускайте тестовые эксплойты в рабочей среде.

Проверка риска CVE-2023-5869

Последовательность проверки и обновления без эксплуатационных действий.

  1. 1Определите затронутые версии на всех узлах PostgreSQL
  2. 2Проверьте, кому разрешено подключение к каждой базе
  3. 3Ограничьте лишний доступ до установки исправления
  4. 4Обновите сервер до исправленного пакета поставщика
  5. 5Подтвердите версии и проверьте журналы доступа

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

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

Требуется psql и разрешённое подключение к целевому экземпляру. Команда только читает server_version; -X исключает пользовательский psqlrc. Для пакетов ОС отдельно проверьте, содержит ли сборка backport исправления. Не указывайте пароль в командной строке.

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

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

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

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

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