VPN:「最も信頼される」セキュリティツールがClaudeによって週末で打ち砕かれる
セキュリティ研究者がClaudeを利用したリバースエンジニアリングにより、Palo Alto Networks PAN-OSのGlobalProtect CAS認証にJWTアルゴリズム混乱の脆弱性(CVE-2026-0265)を発見。攻撃者はJWTトークンを偽造し、認証情報なしでVPNログインを乗っ取ることが可能。CASを有効にしているすべてのPAN-OSバージョンが影響を受けるため、即時アップデートが推奨される。
セキュリティ研究者のrootxharsh氏は、AIアシスタントのClaudeを活用したリバースエンジニアリングにより、Palo Alto NetworksのPAN-OSファイアウォールにおけるGlobalProtectポータルのCAS認証メカニズムに深刻な脆弱性(CVE-2026-0265)を発見した。この脆弱性により、攻撃者はJWTトークンを偽造し、認証情報なしで認証をバイパスして企業VPNネットワークに直接アクセスできる。
研究者はまず、Claudeを使ってPAN-OS仮想マシンを脱獄し、rootアクセスを取得した。その後、GlobalProtect認証アーキテクチャを分析する中で、Palo Altoのクラウドホスト型SSOブローカーであるCASのJWT検証ロジックに欠陥があることに気付いた。CASのワークフローは以下の通りである。ファイアウォールがセッションパラメータを含むJWTを生成し、CASクラウドポータルにリダイレクトする。CASは設定されたIdP(OktaやAzure ADなど)にリダイレクトする。ユーザーが認証を完了すると、CASは署名付きJWTトークンをファイアウォールに返送し、ファイアウォールはトークンを検証してユーザー名を抽出する。
研究者はGhidra MCPとClaudeを使用してファームウェアをリバースエンジニアリングし、わずか数分で問題を発見した。JWT検証関数pan_jwt_verifyはJWTヘッダーからアルゴリズムフィールドを直接抽出し、pan_auth_verifyに渡す。pan_auth_verifyはアルゴリズム文字列に基づいて処理を分岐するが、アルゴリズムと鍵のタイプの一致をチェックしていない。具体的には、アルゴリズムがHS256(HMAC-SHA256)に設定されている場合、関数はCAS署名証明書のバイトをHMAC鍵として使用して検証を行う。つまり、攻撃者は公開されているCAS署名証明書(メタデータエンドポイントから取得可能)を入手し、HS256アルゴリズムとその証明書を鍵として使用して、任意のユーザーのJWTを偽造できる。
研究者はさらに、JWTのaudクレームにターゲットデバイスのCSP ID(CASアカウントID)が必要であることを発見した。このIDは2段階の漏洩で取得可能である。まず、SSOフローを開始すると、ポータルが返すJWTにデバイスのシリアル番号が含まれる。次に、そのシリアル番号を使用してPalo AltoのライセンスAPIを問い合わせると、対応するsupport_account_id(CSP ID)が取得できる。任意の有効なmTLSクライアント証明書を持つデバイスが、他のデバイスのCSP IDを解決可能である。したがって、攻撃者はターゲットのユーザー名(通常はメールアドレス)を知っていれば、完全なJWTを偽造し、VPNログインプロセスを乗っ取ることができる。
研究者は、リバースエンジニアリングはかつてこうしたソフトウェアのセキュリティ研究における障壁であったが、AI支援ツールによってその障壁が大幅に低下したと指摘する。しかし、研究者は依然として対象のアーキテクチャを深く理解している必要があり、モデルを効果的に導くことが重要である。CASを有効にしているPAN-OSユーザーは、潜在的な攻撃を防ぐために直ちにファームウェアを更新することが推奨される。