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

CVE-2022-41862

PostgreSQL CVE-2022-41862: libpq раскрывала память при GSS

Изменённый сервер мог передать незавершённую строку при установлении Kerberos/GSS-шифрования и вызвать чтение неинициализированных байтов в libpq. Риск требует Kerberos credential cache и неотключённого gssencmode; обновите именно клиентскую библиотеку.

Проверено 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 с GSS/Kerberos encryption. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

При установлении Kerberos transport encryption изменённый сервер мог отправить строку без завершающего нулевого байта. В определённых условиях libpq читала за пределами полученного буфера и включала неинициализированные байты в сообщение об ошибке. Раскрытие требует, чтобы вызывающее приложение делало такое сообщение доступным атакующему.

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

Официальный advisory PostgreSQL указывает затронутые ветки 12–15 до 12.14, 13.10, 14.7 и 15.2 соответственно. Условия: libpq-клиент имеет Kerberos credential cache и явно не отключил gssencmode; изменённый неаутентифицированный сервер может вызвать over-read при согласовании GSS transport encryption.

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

Исправлено в libpq из PostgreSQL 12.14, 13.10, 14.7 и 15.2 (9 февраля 2023 года). Обновите пакет клиентской библиотеки, используемый приложением; обновление только серверного кластера не гарантирует, что отдельно установленный или встроенный libpq-клиент исправлен.

Что сделать

  1. 1Определите все приложения, использующие libpq, включая контейнеры, агенты и библиотеки, встроенные в сторонние продукты; версия сервера не заменяет проверку клиента.
  2. 2Установите исправленный пакет PostgreSQL client/libpq не ниже 12.14, 13.10, 14.7 или 15.2 для соответствующей ветки либо сборку поставщика с подтверждённым backport.
  3. 3Если GSS encryption не требуется, временно задайте gssencmode=disable в поддерживаемой приложением конфигурации. Это ограничивает конкретный путь, но не заменяет обновление клиента.
  4. 4Проверьте, что приложение действительно загружает исправленную библиотеку после перезапуска; приложения могут поставлять или статически включать собственную копию libpq.
  5. 5Не делайте диагностические сообщения соединения доступными недоверенным пользователям. При подозрении на утечку сохраните журналы приложения и расследуйте, какие сообщения возвращались клиентам.

Проверка клиента libpq при CVE-2022-41862

Статичная последовательность проверки клиентских библиотек и настройки GSS.

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

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

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

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

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

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

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

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

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