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

CVE-2021-23222

PostgreSQL CVE-2021-23222: MITM-подмена ответов libpq

Уязвимая libpq могла обработать незашифрованные ответы посредника на первые запросы клиента, даже при TLS и проверке сертификата. Для раскрытия пароля нужны дополнительные условия, включая сервер, уязвимый к CVE-2021-23214; проверьте клиентские библиотеки и сервер.

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

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

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

В чём риск

libpq могла принять незашифрованные данные посредника вместо ответов сервера на первые запросы соединения, даже при SSL и проверке сертификата. При дополнительных условиях это могло раскрыть пароль или другие ранние данные сеанса. Для описанного проекта сценария важен сервер с конфигурацией, уязвимой к CVE-2021-23214; клиентское и серверное исправления следует проверять отдельно.

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

Затронуты libpq из upstream-веток PostgreSQL 9.6–14 до исправлений 9.6.24, 10.19, 11.14, 12.9, 13.5 и 14.1. Активный MITM мог подменить ответы на первые запросы клиента. Для извлечения пароля или других данных нужны дополнительные условия: доступность конфиденциальных данных и, для известного сценария, серверная конфигурация, уязвимая к CVE-2021-23214.

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

Исправлено в libpq из PostgreSQL 9.6.24, 10.19, 11.14, 12.9, 13.5 и 14.1 (11 ноября 2021 года). Обновите библиотеку, фактически используемую приложением; отдельно проверьте приложения со встроенной или статически связанной libpq и серверы, подверженные CVE-2021-23214.

Что сделать

  1. 1Определите клиентские приложения, версии libpq и способ связывания библиотеки. Версия установленного PostgreSQL-сервера не подтверждает исправление клиентской библиотеки.
  2. 2Обновите libpq до исправленной поддерживаемой версии или пакета поставщика с подтверждённым backport; перезапустите процессы, которые могли загрузить старую библиотеку.
  3. 3Проверьте серверы, к которым подключаются клиенты: исправьте CVE-2021-23214 и пересмотрите использование cert либо trust с clientcert.
  4. 4До обновления ограничьте клиентские подключения доверенными сетями и не передавайте учётные данные через недоверенные маршруты. TLS остаётся необходимым, но сам по себе не устраняет этот дефект.
  5. 5После обновления проверьте фактически загруженную libpq для каждого приложения и оцените журналы соединений и ранних запросов при подозрении на MITM.

Два уровня проверки CVE-2021-23222

Статичная схема разделяет клиентское исправление libpq и серверную конфигурацию CVE-2021-23214.

  1. 1Определите libpq, используемую каждым клиентским приложением
  2. 2Установите исправленную библиотеку и перезапустите процессы
  3. 3Проверьте серверы на уязвимую cert или trust-конфигурацию
  4. 4Обновите серверы, уязвимые к CVE-2021-23214
  5. 5Проверьте журналы при подозрении на подмену ответов

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

Посмотреть версию установленного psql-клиента (shell)
psql --version

Команда локально выводит версию psql и связанной с ним libpq, не устанавливая сетевое соединение. Она не проверяет библиотеку, которую загружает другое приложение, если оно поставляет отдельную или статическую копию; для таких клиентов проверяйте пакет или состав сборки отдельно.

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

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

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

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

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