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

CVE-2021-23214

PostgreSQL CVE-2021-23214: MITM-инъекция SQL при подключении

При настройке cert или trust с обязательным клиентским сертификатом сервер мог обработать незашифрованные байты посредника и принять произвольные SQL-запросы при установлении соединения. Уязвимость затрагивала ветки 9.6–14 до исправлений ноября 2021 года.

Проверено 27 октября 2026PostgreSQL указывает CVSS 3.0: 8.1 (High), вектор AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. Не полагайтесь только на TLS или проверку сертификата как на устранение описанного дефекта.

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

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

В чём риск

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

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

Затронуты upstream-ветки PostgreSQL 9.6–14 до исправлений 9.6.24, 10.19, 11.14, 12.9, 13.5 и 14.1. Условие: сервер использует аутентификацию trust с требованием clientcert либо аутентификацию cert; активный MITM может вмешаться при установлении соединения, даже если включены SSL-шифрование и проверка сертификата.

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

Исправлено в PostgreSQL 9.6.24, 10.19, 11.14, 12.9, 13.5 и 14.1 (11 ноября 2021 года). Обновите серверную сборку; для более новых поддерживаемых выпусков и пакетов ОС проверьте актуальный статус исправления у поставщика.

Что сделать

  1. 1Проверьте версию именно PostgreSQL-сервера и правила аутентификации для каждого входящего соединения, включая pg_hba.conf и управляемую конфигурацию поставщика.
  2. 2Если используется cert или trust с clientcert, считайте соединения уязвимыми до подтверждения исправления. Не полагайтесь на включённый SSL и проверку сертификата как на достаточное исправление.
  3. 3Ограничьте сетевой доступ к серверу доверенными сегментами, пока готовится обновление; временная сегментация не заменяет патч.
  4. 4Установите исправленный серверный выпуск 9.6.24, 10.19, 11.14, 12.9, 13.5 или 14.1 для соответствующей ветки либо подтверждённый backport поставщика.
  5. 5После обновления проверьте версию пакета и конфигурацию аутентификации. Рассмотрите переход на подходящую схему password authentication, например SCRAM, только после оценки совместимости клиентов и требований безопасности.
  6. 6При подозрении на эксплуатацию сохраните журналы и проверьте действия ролей, подключения и изменения данных за период возможного инцидента.

Проверка серверной конфигурации CVE-2021-23214

Статичная последовательность проверки конфигурации и обновления; не является тестом на проникновение.

  1. 1Проверьте версию сервера и правила входящей аутентификации
  2. 2Выявите cert и trust с обязательным клиентским сертификатом
  3. 3Ограничьте сетевой доступ до установки исправления
  4. 4Обновите сервер до исправленной сборки
  5. 5Перепроверьте правила и расследуйте подозрительные подключения

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

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

Нужны psql и разрешённое подключение к целевому серверу. Команда только читает версию и не проверяет правила pg_hba.conf, TLS или наличие backport. Не подключайтесь по недоверенной сети только ради этой проверки и не помещайте пароль в команду.

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

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

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

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

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