Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-87902 — CVE-2026-87902を再現するDockerベースのローカルラボ。WordPressのページテンプレートにおけるパストラバーサルによりローカルのPHPファイルインクルージョンが発生し、PEARを利用したRCEに至る脆弱性で、PoCスクリプトを同梱。 | Kitploit
ツール/GitHubGitHub/xiaxiu555/cve-2026-87902
コンテナセキュリティ脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ学習と教育ペイロード開発ラボと実践
GitHubxiaxiu555/cve-2026-87902

cve-2026-87902

CVE-2026-87902を再現するDockerベースのローカルラボ。WordPressのページテンプレートにおけるパストラバーサルによりローカルのPHPファイルインクルージョンが発生し、PEARを利用したRCEに至る脆弱性で、PoCスクリプトを同梱。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-87902 WordPress ローカル演習場

CVE-2026-87902(WordPress ページテンプレート解析パストラバーサル → ローカル PHP ファイルインクルード → pearcmd ファイル書き込み RCE)を再現するローカル Docker 演習場。

⚠️ 認可された環境でのセキュリティ学習・研究専用。ローカル Docker 内でのみ実行可能であり、未認可のターゲットに対して使用することは禁止されています。脆弱性は 2026-09-22 に公式によって修正され、サポート対象の全ブランチでパッチがリリースされています。

脆弱性情報

  • CVE: CVE-2026-87902(GHSA-7hp8-65ch-5whp)、CWE-98 PHP ファイルインクルード、CVSS 4.0 9.2 Critical
  • 影響:WordPress 4.7.0 – 7.1.1(修正:7.1.2 / 7.0.6、その他のブランチは 4.7.37 にバックポート)
  • 原理:get_page_template() がユーザー制御可能な pagename パラメータに対して二次的な urldecode() を行った後、テンプレート候補名に連結する。locate_template() は file_exists() でファイルを探し、読み込み前に realpath/拡張子/読み取り可能チェックのみを行い、パスが依然としてテーマディレクトリ内にあることを検証していない(canonicalization はあるが、containment がない)
  • 元の PoC と write-up(Robert Ressl):
    • https://github.com/ressl/cve-2026-87902-poc
    • https://ressl.ch/blog/cve-2026-87902-wordpress/
    • https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

演習場に事前設定された4つの悪用条件

#条件本演習場での満たし方
1公開済みで、カスタムテンプレートが指定されていないページsetup.sh がサンプルページを自動生成・削除
2有効なテーマの最上位に page-* ディレクトリが存在theme/mytheme/page-templates/(有効化テーマにこのディレクトリを含む)
3読み取り可能な /usr/local/lib/php/pearcmd.php公式 php イメージに PEAR が同梱
4register_argc_argv=On + 書き込み可能な出力先公式イメージには php.ini がなく、コンパイル時のデフォルト値は On;/tmp は書き込み可能

クイックスタート

docker compose up -d      # 初回はイメージを自動取得(約1GB)
sh setup.sh               # セットアップ + /flag 設置 + 4条件の検証
python cve-2026-87902.py --url http://127.0.0.1:8091

期待される出力:

[*] page id  : 4 (about, default template, via /index.php?rest_route=...)
[*] depth 7  : stage 1 HTTP 200, stage 2 HTTP 200
[+] marker   : 'CVE-2026-87902-POC-OK' found 12 time(s) in the stage-2 response
[+] EXPLOIT SUCCESSFUL - PHP executed with the web-server account's privileges

(12 回 = PEAR 設定ファイルには 12 個の設定項目があり、それぞれに payload が埋め込まれている)

検証と解説

stage 1 で PEAR が書き出したファイルを確認する(#PEAR_Config 0.9 で始まる serialize テキストで、payload は通常の文字として 12 個の設定項目に埋め込まれている):

docker compose exec wordpress cat /tmp/wp-pear-rce-flag.php
  • stage 1:パストラバーサルを利用して pearcmd.php をインクルードする;register_argc_argv=On によりクエリ文字列が + で $argv に分割され、pearcmd は自分がターミナルで呼び出されたと誤認する;config-create <root> <file> が root(埋め込まれた PHP コード)をそのまま対象ファイルに書き込む
  • stage 2:同じトラバーサルチェーンで先ほど書き出したファイルを include し、<?=...?> が実行され、/flag を読み取って出力する

管理画面とクリーンアップ

  • WordPress 管理画面:http://127.0.0.1:8091/wp-admin(admin / admin123、ローカル演習環境専用)
  • flag の内容:CVE-2026-87902-POC-OK(コンテナ内の /flag に存在)
  • Windows ユーザーは Git Bash で setup.sh を実行してください

完全なクリーンアップ(コンテナ + データボリューム + イメージ):

docker compose down -v --rmi all

ファイル説明

docker-compose.yml     WordPress 7.0.2-php8.3-apache + MySQL 8.4 + wp-cli
theme/mytheme/         実験用テーマ(page-templates/ ディレクトリを含む、条件②)
cve-2026-87902.py      PoC(ressl/cve-2026-87902-poc より、著作権は原作者に帰属)
setup.sh               ワンクリックセットアップ + 4条件の自己チェック

謝辞と免責事項

  • 脆弱性の発見と開示:Robert Ressl(ressl.ch)、WordPress 公式セキュリティプロセス(HackerOne)を通じて調整開示
  • 本リポジトリは公式イメージ、公式慣例ディレクトリ、公開 PoC の組み合わせのみを含み、教育目的の再現に使用
  • 本演習場の使用によって生じる一切の結果は使用者自身が負うものとする
ツールをダウンロード