Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-35616-check — CVE-2026-35616の非破壊スキャナ。FortiClient EMSの事前認証APIバイパスです。SSLヘッダーを偽装した場合としない場合のHTTP応答を比較して脆弱性を検出し、Python標準ライブラリのみを使用します。 | Kitploit
ツール/GitHubGitHub/bishopfox/cve-2026-35616-check
脆弱性分析エクスプロイトウェブアプリケーション悪用APIセキュリティテストペネトレーションテスト認証
GitHubbishopfox/cve-2026-35616-check

CVE-2026-35616-check

CVE-2026-35616の非破壊スキャナ。FortiClient EMSの事前認証APIバイパスです。SSLヘッダーを偽装した場合としない場合のHTTP応答を比較して脆弱性を検出し、Python標準ライブラリのみを使用します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-35616 脆弱性評価ツール

FortiClient EMS サーバーが CVE-2026-35616 に対して脆弱かどうかを、サービスを中断させることなく安全に検出します。Bishop Fox ブログの完全な解説記事もご覧ください。

説明

CVE-2026-35616 は FortiClient EMS 7.4.5 および 7.4.6 における事前認証 API バイパスであり、リモートの認証されていない攻撃者が HTTP ヘッダースプーフィングを通じて証明書ベースの認証をバイパスできるようにします。Django アプリケーションは、ユーザーが制御可能な HTTP ヘッダー(X-SSL-CLIENT-VERIFY、X-SSL-CLIENT-CERT)を Apache mod_ssl の WSGI 環境変数と同等のものとして信頼し、Apache 構成はそれらを決して除去しません。これに、Distinguished Name の文字列一致のみを実行する(暗号署名の検証を行わない)証明書チェーン検証が組み合わさることで、攻撃者は証明書を偽造し、認証済み API アクセスを取得できます。Fortinet は実環境での悪用を確認しています。

このツールは、以下の方法で非破壊的な脆弱性テストを実施します:

  1. スプーフィングされたヘッダーなしで /api/v1/fabric_device_auth/fortigate/init にベースライン POST を送信する
  2. X-SSL-CLIENT-VERIFY: SUCCESS を含むが証明書データを含まない同一の POST を送信する
  3. 2 つのレスポンスを比較して、ヘッダーが Django に到達したかどうかを判断する

証明書 PEM データなしで verify ヘッダーを送信すると検出パスがトリガーされますが、証明書チェーンが提供されないため認証はできません。サーバーは安定した状態を維持し、接続を処理し続けることができます。

  • 脆弱なサーバー は異なるレスポンスを返します:ベースラインは HTTP 401("Certificate not found in request header")を返すのに対し、スプーフィングされたリクエストは HTTP 500(サーバーエラー)を返します。これは、 がゲートを通過する一方で が PEM データの欠落によりクラッシュするためです。
contains_certificate()
validate_cert_chain()
  • パッチ適用済みサーバー は、両方のリクエストに対して同一の HTTP 401 レスポンスを返します。これは、ホットフィックスによって、スプーフィングされたヘッダーが Django に到達する前に除去する Apache の RequestHeader unset ディレクティブが追加されるためです。
  • EMS 以外のサーバー はエンドポイントに到達できず、その場合ツールは INCONCLUSIVE の結果を報告します。
  • インストール

    root@kitploit:~
    git clone https://github.com/BishopFox/CVE-2026-35616-check
    cd CVE-2026-35616-check
    

    外部依存関係はありません。スキャナーは Python 標準ライブラリのモジュールのみを使用します。

    使用方法

    <TARGET>:<PORT> の FortiClient EMS サーバーをテストします。デフォルトポートは 443/TCP です。

    root@kitploit:~
    python3 CVE-2026-35616-check.py <TARGET> [PORT]
    

    例:脆弱なサーバー

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 500
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  500 — Server encountered an error, please try again later.
    [!] Spoofed header changed server behavior
    [!] X-SSL-CLIENT-VERIFY is reaching Django (hotfix not applied)
    
    ======================================================================
    RESULT: VULNERABLE to CVE-2026-35616
    Affected versions: FortiClient EMS 7.4.5 - 7.4.6
    Recommendation: Apply Fortinet hotfix or upgrade to 7.4.7+
    ======================================================================
    

    例:パッチ適用済みサーバー

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 401
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  401 — Certificate not found in request header.
    [-] Responses identical (header stripped by Apache)
    
    ======================================================================
    RESULT: NOT VULNERABLE (hotfix applied)
    Apache is stripping X-SSL-CLIENT-VERIFY before it reaches Django
    ======================================================================
    

    前提条件

    このツールは、以下の条件がすべて満たされた場合にのみ脆弱性を検出できます:

    • ターゲットが FortiClient EMS 7.4.5 または 7.4.6 を実行している
    • EMS の Web インターフェースにアクセス可能である
    • /api/v1/fabric_device_auth/fortigate/init エンドポイントが存在し、cert_chain_approved 認証を使用している

    いずれかの条件が満たされない場合、ツールは INCONCLUSIVE の結果を報告します。

    ライセンス

    このコードは MIT ライセンス の下で配布されています。

    法的免責事項

    本ツールを事前の相互同意なしにターゲットへの攻撃に使用することは違法です。適用されるすべての地域、州、連邦の法律を遵守する責任はエンドユーザーにあります。開発者は一切の責任を負わず、本プログラムによって引き起こされた誤用や損害について責任を負いません。

    関連情報

    • Fortinet アドバイザリ FG-IR-26-099
    • Bishop Fox ブログ:完全な技術分析
    • NVD — CVE-2026-35616
    ツールをダウンロード