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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/tcyph3r/wp2shell-cve-2026-63030-root-cause
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubtcyph3r/wp2shell-cve-2026-63030-root-cause

wp2shell-cve-2026-63030-root-cause

WordPress(CVE-2026-63030 + CVE-2026-60137)における認証不要のSQLインジェクションからRCEへの独立した根本原因分析と概念実証、Dockerラボと詳細なエクスプロイトチェーンのドキュメント付き。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

wp2shell (CVE-2026-63030 + CVE-2026-60137): 独立した根本原因分析

WordPress コアは wp2shell を 2026-07-17 に、デフォルトインストール(WordPress 6.9.0-6.9.4、7.0.0-7.0.1、プラグイン不要)に影響する重要な認証不要のRCEとして開示しました。元の発見者(Searchlight Cyber)は開示時点で技術的詳細を公開しませんでした。このリポジトリは、脆弱なリリース(6.9.4)と修正済みリリース(6.9.5)のWordPressコアソースの差分解析のみに基づいた独立した根本原因分析と、ローカルラボでの実機検証を文書化しています。

クレジット: ここでの再現は、sergiointel/wp2shell-poc のリクエスト形状に従い、バイト単位で確認され、実際のパッチ差分と照合されています。

Contents

  • root_cause_analysis.md - 完全な解説: 2つの連鎖するバグ、正確な脆弱コード、パッチ差分、エクスプロイトチェーン、実際のWP 6.9.4インスタンスに対する実機の前後検証。
  • poc_upstream.py - sergiointelのオリジナルPoCの未修正コピー(SQLiのみ)。
  • poc_upstream_rce.py - sergiointelのPoCを開示から約22時間後に更新したもの。認証情報をクラックせずに認証不要の権限昇格とRCEを追加。root_cause_analysis.mdのセクション7を参照。
  • poc_extract.py / poc_extract2.py - 調整されたバリアント(より大きなSLEEP()、より高いタイミングしきい値、より長い文字検索上限)。Docker化/プロキシ環境のラボで、元のスクリプトのデフォルトがネットワークジッターで消失した場合に信頼性のある信号を得るために必要。
SLEEP(0.15)
  • docker-compose.yml - 検証に使用したのと同じWordPress 6.9.4 + MariaDBラボを立ち上げます。
  • payload.json, response.json, response_patched.json - PoCの構造を複製した手作りのリクエストと、6.9.5パッチファイルを適用する前後の生のサーバーレスポンス。
  • End-to-end chain, confirmed

    2つ目の独立して作成されたPoC(github.com/Icex0/wp2shell-poc)が完全にレビューされ、同じ根本原因メカニズムを独立して説明しており、以下の分析を裏付けています。そのコンテンツベース(ブーリアン、タイミングベースではない)のブラインドSQLi抽出を使用して、このラボの管理者認証情報ハッシュが100%の精度で復元され、その既知の認証情報を使用して、完全なSQLi-to-RCEチェーンが実機で実証されました。SQLインジェクションから認証情報抽出、認証済みプラグインアップロードウェブシェル、www-dataとしてのコード実行まで。root_cause_analysis.mdのセクション6を参照。

    その認証情報クラッキングの経路は現実ですが、唯一のものではありません。sergiointelのPoCはその後、UNION SELECTを使用して偽のデータベース行を偽造することで、認証情報クラッキングを一切行わずに認証不要のRCEを達成するように更新されました。WordPress自身のCustomizer/nav-menu/oEmbed-cacheコードが信頼するため、認証されていないユーザー作成リクエストを成功させることができます。root_cause_analysis.mdのセクション7を参照。認証不要のSQLインジェクション単独で、デフォルトインストールでの完全なRCEに十分です。

    Summary of findings

    CVE-2026-63030 (REST batch route confusion, CWE-436): WP_REST_Server::serve_batch_request_v1()は単純なプッシュで $matches[] 配列に追加しますが、サブリクエストのパスの解析に失敗した場合(例えば、意図的に不正な "http://:" エントリ)は追加をスキップします。その1回のスキップにより、それ以降のすべてのエントリに対して $matches[] が $requests[] から1インデックスずれます。ディスパッチ時に $matches[$i] は $requests[$i] に対応しなくなり、コードはリクエストのデータを、実際に検証されたルートとは異なるルートのマッチしたハンドラの下で実行することになります。

    CVE-2026-60137 (SQL injection): WP_Query::get_posts()は is_array() ブランチ内でのみ author__not_in に対して absint() サニタイゼーションを実行していました。スカラー文字列値はサニタイゼーションを完全にスキップし、直接 ... post_author NOT IN ($value) に連結されました。

    Chained: ルート混同バグにより、攻撃者は /wp/v2/categories に対して宣言されたリクエスト(author_exclude を認識しないためサニタイズされない)を、実際には posts コントローラー(author_exclude を読み取り、それを WP_Query に転送する)を介してディスパッチさせることができます。認証は不要です。

    On the RCE claim: 認証不要のブラインドSQLインジェクションが機能し、wp_users.user_passを含む任意のDBコンテンツを流出させることができることが実機で確認されました。仮想化ラボでの1回のタイミングベース抽出パスでは、有意なビットエラーノイズが発生しました(ここでのテストでは文字あたり約94%の精度)。コンテンツベース(ブーリアン)オラクルはその障害モードを共有せず、同じフィールドを100%の精度で復元しました。RCEは2つの異なる経路で確認されました。回収したパスワードハッシュのクラッキング(パスワードの強度に依存)、およびWordPress自身のCustomizer/nav-menu/oEmbed-cacheコードが信頼するUNIONで偽造されたデータベース行を使用した認証不要の権限昇格ガジェットチェーン(無条件、認証情報漏洩不要)。root_cause_analysis.mdのセクション7を参照。

    Reproducing

    root@kitploit:~
    docker compose up -d
    # WordPressインストールウィザードが :8890 で到達可能になるのを待ち、セットアップを完了します
    
    HTTP_PROXY=http://127.0.0.1:8080 HTTPS_PROXY=http://127.0.0.1:8080 \
      python3 poc_extract2.py http://localhost:8890 "SELECT DATABASE()"
    

    完全な技術的解説は root_cause_analysis.md を参照。

    Responsible Disclosure

    WordPressは公式修正を公開しています: 6.9.5および7.0.2(ベータブランチ向け7.1 Beta 2)、2026-07-17リリース。影響を受けるバージョンを実行している場合は直ちに更新してください。このリポジトリはパッチが公開された後に防御および教育目的で公開されています。ここにあるコードは、自分が所有しているか、明示的にテストする許可を得たシステムに対してのみ実行してください。

    ツールをダウンロード