PostGREShell: сбой в PostgreSQL превратил резервные учетные записи в задние двери

By: www.diariobitcoin.com|2026/09/04 14:12:20
0
Поделиться
copy
Оценить в GoogleОценить в Google

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


  • Уязвимость CVE-2026-6471 затрагивает версии до PostgreSQL 18.5, 17.11, 16.15, 15.19 и 14.24, согласно доступным уведомлениям о безопасности.
  • Учетная запись с атрибутом REPLICATION могла загрузить вредоносную библиотеку и выполнить код внутри процесса базы данных.
  • Cyera Research обнаружила 114 вредоносных дополнений PostgreSQL в обращении, хотя не связала их с эксплуатацией этой уязвимости.

Уязвимость, которая оставалась более десяти лет в PostgreSQL, могла преобразовать обычную резервную учетную запись в способ получения контроля над базой данных и сервером. Сбой, идентифицированный как CVE-2026-6471 и названный PostGREShell исследованием Cyera, затрагивает функциональность логической репликации и позволяет загружать произвольный код с учетной записью, имеющей атрибут REPLICATION, без необходимости в привилегиях суперпользователя.

Потенциальный масштаб широк, поскольку PostgreSQL поддерживает системы резервного копирования, реплики, миграции, захват измененных данных и анализ в реальном времени для тысяч организаций. Исследование показало, что более 39 000 проверенных компаний используют базу данных в производстве, среди которых Netflix, Instagram, Spotify и Uber, а также такие сервисы, как AWS RDS, Azure Database, Google Cloud SQL, Supabase и Neon.

Скрытая уязвимость в репликации

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

PostgreSQL использует специфический протокол для синхронизации этих систем и требует атрибут REPLICATION для начала потоковой репликации. Те же учетные данные появляются в инструментах резервного копирования, серверах ожидания, каналах захвата изменений и системах мониторинга, которые читают журнал предварительной записи, так что, казалось бы, ограниченная учетная запись может присутствовать во многих критически важных средах.

Проблема заключалась в выходных дополнениях, которые форматируют изменения логической репликации. Когда клиент создает пространство репликации, он также указывает имя дополнения, которое может быть библиотекой, скомпилированной с расширениями, такими как .so, .dll или .dylib, и которую PostgreSQL загружает в основной процесс базы данных.

Система уже имела защиту под названием check_restricted_library_name(), предназначенную для предотвращения загрузки библиотек пользователями, не являющимися суперпользователями, из абсолютных путей или с помощью техник обхода директорий. Однако путь, используемый репликацией, не вызывал эту проверку, поэтому имя дополнения попадало напрямую в загрузчик операционной системы без проверки, применяемой к команде SQL LOAD.

От вредоносной библиотеки к контролю над сервером

Парсер протокола репликации принимал множество символов в имени дополнения, включая слэши, точки, последовательности, такие как ../, и UNC-пути Windows. Злоумышленник, который смог бы предоставить специально манипулируемое имя, мог заставить PostgreSQL запросить библиотеку, расположенную по произвольному пути, активируя такие функции, как dlopen() в Linux и macOS или LoadLibrary() в Windows.

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

Условия эксплуатации меняются в зависимости от операционной системы. В Windows учетная запись с REPLICATION, сервер, настроенный с wal_level = logical, и сетевой доступ к порту SMB 445 могли быть достаточными для того, чтобы PostgreSQL загрузил DLL, размещенную на удаленном сервере через UNC-путь, без необходимости предварительно копировать файл на целевую машину.

В Linux и macOS исследование описало сценарии, основанные на автоматических монтированиях NFS, особенно когда был активен autofs, а также случаи, когда злоумышленник уже мог записать библиотеку на диск. В стандартных средах, контейнерах Docker или кластерах Kubernetes эксплуатация требовала дополнительного канала для локального размещения вредоносного файла, в то время как Windows предлагала полностью удаленный путь при указанных условиях.

Переход к суперпользователю и устойчивость

Первоначальный доступ как пользователь системы postgres не означал завершение атаки, согласно опубликованному анализу. Загруженный код мог манипулировать внутренними структурами PostgreSQL, становиться суперпользователем сессии и напрямую изменять pg_authid, каталог, который определяет привилегии ролей.

Работая вне SQL-исполнителя, это изменение не проходило обычные проверки списков контроля доступа и правил разрешений. Злоумышленник мог активировать индикаторы суперпользователя и добавить механизм, чтобы последующие проверки возвращали положительный ответ, в то время как изменение фиксировалось аналогично обычному изменению каталога.

С привилегиями суперпользователя злоумышленник мог читать таблицы всех баз данных, включая данные клиентов, финансовые записи, секреты приложений и сохраненные учетные данные. Он также мог использовать функции, такие как COPY ... TO PROGRAM, для выполнения команд, читать чувствительные файлы с помощью pg_read_file() или записывать в доступные для пользователя системы места с помощью таких инструментов, как lo_export().

Исследование также описало несколько механизмов устойчивости, которые могли пережить перезагрузки и усложнить очистку. Среди них были изменения в pg_hba.conf, позволяющие подключения без пароля, копии плагина в стабильном пути и его регистрация в shared_preload_libraries, а также повторное применение привилегии суперпользователя, если администратор пытался ее отменить.

Исправление, охват и срочные меры

Команда безопасности PostgreSQL получила отчет в феврале 2026 года и подтвердила уязвимость 27 февраля, прежде чем скоординировать исправление для незначительного обновления. CSO Online сообщило, что патчи были опубликованы 13 августа для версий 18.6, 17.11, 16.15, 15.19 и 14.24. Уведомления о безопасности идентифицируют как затронутые версии, предшествующие этим исправлениям, в то время как сбой восходит к веткам, которые начались с PostgreSQL 9.4, выпущенной в 2014 году.

Хотя CVE-2026-6471 получил оценку CVSS 7.2, описанный эффект сочетает в себе выполнение кода, повышение привилегий, доступ к информации и устойчивость. Практическая серьезность зависит от экспозиции учетных записей репликации, настройки сети и платформы, но наличие этих учетных данных в критически важных операциях делает недостаточным полагаться только на то, что это не учетные записи администратора.

Обзор угроз Cyera Research в VirusTotal выявил 114 вредоносных дополнений для PostgreSQL, включая трояны, майнеры криптовалют и обратные оболочки. Компания не связала эти файлы с эксплуатацией уязвимости CVE-2026-6471, поэтому находка демонстрирует, что дополнения уже привлекают вредоносную активность, но не подтверждает, что эта уязвимость была использована этими экземплярами.

Администраторы должны сначала установить соответствующее обновление и провести аудит всех учетных записей с атрибутом REPLICATION. Также рекомендуется удалить этот привилегию, когда она не является строго необходимой, ограничить подключения в pg_hba.conf до известных адресов и избегать правил репликации, открытых для всего Интернета, таких как 0.0.0.0/0.

Ужесточение должно включать блокировку ненужных исходящих подключений к SMB на порту 445 и NFS на порту 2049 с серверов баз данных, а также отключение autofs, когда это не требуется. Команды безопасности должны искать команды CREATE_REPLICATION_SLOT из неожиданных адресов, имена дополнений с косыми чертами или последовательностями пути и необычные пространства репликации.

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

Цена --

--
--
--

Этот контент предоставляется исключительно в общих информационных целях и не является финансовым, инвестиционным, юридическим или налоговым советом. Любые мероприятия, вознаграждения, онлайн-акции или связанная с ними информация, упомянутые в настоящем документе, не должны рассматриваться как рекомендация, приглашение к покупке, продаже, торговле или иной сделке с какими-либо криптоактивами. Криптоактивы очень волатильны и могут привести к убыткам. Доступность услуг, продуктов WEEX и связанных с ними событий может варьироваться в зависимости от региона. Вы несете ответственность за обеспечение того, чтобы ваше участие соответствовало применимым местным законам и нормативным актам.

Вам также может понравиться

Содержание

Свежие статьи

Еще

Свежие листинги на WEEX

iconiconiconiconiconiconiconiconicon
Служба поддержки:@weikecs
Деловое сотрудничество:@weikecs
Количественная торговля и ММ:bd@weex.com
VIP-программа:support@weex.com