扉はVPNだった
English

技術者向けS=1:5

認証前に開いている面

SSL-VPN 機器が相手を確かめる前に行う処理は、インターネット全体に開いている。深刻な VPN の欠陥の多くはここにあり、悪用されると機器全体を握られることが多い。

要旨

利用者がログインする前から、機器は TLS、Web の要求、ログイン画面、画面が読み込むファイル、SAML のメッセージを処理している。この処理はインターネット上の誰でも起動できる。ここに欠陥があればパスワードは要らず、多要素認証はその要求を見ない。

1つの要求の経路

機器は TLS を終端し、Web デーモンが要求を読んで処理先に振り分ける。FortiOS ではこのデーモンが sslvpnd で、Fortinet は CVE-2022-42475 の勧告で名指ししている(FG-IR-22-398)。網掛けの範囲はすべてこの段階で動き、パスワード、第2要素、SAML アサーションの確認はその後になる。

建具表の KEV 登録済み VPN・リモートアクセス製品の CVE 31件のうち、29件はログイン前に到達できる。残る2件も、実際の攻撃ではログイン前に到達できる欠陥と組み合わせて使われた。

インターネット上の誰でもVPN 機器TLS の終端Web デーモンが全要求を解析例: FortiOS の sslvpnd認証前: 誰にでも応答するログイン画面静的ファイルクライアント配布SAML・SSOクライアントレス管理画面露出認証パスワード、MFA、SAML、RADIUSMFA: 素通りセッション Cookie を発行トンネル・社内資源へ機器の OS(root のことが多い)社内ネットワーク
図 5-2SSL-VPN 機器を通る1つの要求。網掛けが認証前の範囲縮尺なし

出典: Fortinet PSIRT Heap-based buffer overflow in sslvpnd (FG-IR-22-398, Indicators of Compromise)CISA(米国) Known Exploited Vulnerabilities Catalog (catalogVersion 2026.10.23; VPN/remote-access entries of the chapter 3 door schedule, bug class from NVD CWE and vendor advisories)

欠陥の種類

認証前のコードは誰からの入力でも受け付けるので、アカウントごとの制限も送り手の身元も当てにできない。多くの SSL-VPN 製品では、ログイン画面とログイン後のポータルを同じ Web 処理系が担う。

最も多いのはメモリ破壊だ。大半はバッファオーバーフローと範囲外の読み書きで、解放後使用(use-after-free)が1件ある。C や C++ のようなメモリ安全でない言語で起きる欠陥である。CISA と FBI は CVE-2025-0282(Ivanti Connect Secure)と CVE-2023-6549(Citrix NetScaler)を例に挙げ、「Threat actors frequently exploit these vulnerabilities to gain initial access to an organization’s network and then move laterally to the wider network.」と書いた。このコードの多くが1つの大きな Web デーモンに収まった古い C だというのは、欠陥の種類と Pulse Secure から Ivanti に至る製品系譜からの本サイトの推測で、ベンダーは公表していない。

メモリ破壊12認証・認可の回避9インジェクション(コマンド、コード、SQL、SSRF)5ファイル読み出し・パストラバーサル5
図 5-3KEV 登録済みの VPN・リモートアクセス製品の CVE 31件(2018〜2026年)。四角1つが1件、欠陥の種類別

出典: CISA(米国) Known Exploited Vulnerabilities Catalog (catalogVersion 2026.10.23; VPN/remote-access entries of the chapter 3 door schedule, bug class from NVD CWE and vendor advisories)CISA・FBI(米国) Secure by Design Alert: Eliminating Buffer Overflow Vulnerabilities (p.1)

データ
種類件数CVE
メモリ破壊12CVE-2022-42475, CVE-2023-27997, CVE-2024-21762, CVE-2021-22893, CVE-2025-0282, CVE-2025-22457, CVE-2023-4966, CVE-2025-5777, CVE-2025-6543, CVE-2025-7775, CVE-2026-3055, CVE-2025-20333
認証・認可の回避9CVE-2026-24858, CVE-2023-46805, CVE-2026-104935, CVE-2026-0257, CVE-2024-40766, CVE-2024-53704, CVE-2023-20269, CVE-2025-20362, CVE-2026-50751
インジェクション(コマンド、コード、SQL、SSRF)5CVE-2024-21887, CVE-2023-3519, CVE-2024-3400, CVE-2021-20016, CVE-2026-15409
ファイル読み出し・パストラバーサル5CVE-2018-13379, CVE-2025-68686, CVE-2019-11510, CVE-2019-19781, CVE-2024-24919

どの機器もこのコードを root で動かすというのは推測だ。下の表は、ベンダーか CISA が権限を明記した事例に限る。

CVE 製品 認証前 勧告の記述
CVE-2024-3400 PAN-OS GlobalProtect はい 「may enable an unauthenticated attacker to execute arbitrary code with root privileges on the firewall」
CVE-2025-20333 Cisco ASA・FTD の VPN Web サーバ CVE-2025-20362 と連鎖 「A successful exploit could allow the attacker to execute arbitrary code as root」
CVE-2023-46805、CVE-2024-21887 ほか Ivanti Connect Secure はい(連鎖) CISA AA24-060B。攻撃者は「may be able to gain root-level persistence despite issuing factory resets」

出典: Palo Alto Networks CVE-2024-3400 PAN-OS: Arbitrary File Creation Leads to OS Command Injection Vulnerability in GlobalProtectCisco PSIRT Cisco Secure Firewall Adaptive Security Appliance Software and Secure Firewall Threat Defense Software VPN Web Server Remote Code Execution Vulnerability (cisco-sa-asaftd-webvpn-z5xP8EUB)CISA ほか(米国) Threat Actors Exploit Multiple Vulnerabilities in Ivanti Connect Secure and Policy Secure Gateways (AA24-060B)

露出の棚卸し

対象は自社に属するアドレスと名前だけ。自社が管理していないアドレスは走査しない。事業者やベンダーが自社のために運用している範囲は、事前に書面で許可を得る。

方法 分かること 分からないこと
資産台帳と契約書 インターネットに面した全機器。保守用にベンダーが設置した機器も含む。大阪急性期・総合医療センターは給食事業者の機器から入られた(p.45) 誰も記録しなかった機器
自社のグローバル IP 範囲の走査(自社または契約した診断事業者が実施) 応答するポート、ポータルや TLS 証明書から分かる製品と版 一覧に入れ忘れた範囲
Shodan や Censys など公開情報の検索エンジン(自社の範囲とドメインで検索) 外部の走査ですでに記録された自社の姿と、その履歴 まだ収集されていないもの
自社ドメインの証明書透明性(CT)ログ vpn.example[.]com のように、誰かが立てて忘れたホスト名 IP アドレスだけで使っている機器
ベンダーのサポートポータル 機種、シリアル番号、サポート終了日 以前の委託先名義で登録された機器

出典: 地方独立行政法人大阪府立病院機構 大阪急性期・総合医療センター 情報セキュリティインシデント調査委員会 調査報告書 (pp.11–12, 18–19, 36–41, 45–47; pp.11, 37, 45–46, 71)CISA・FBI・英国 NCSC Reducing the Attack Surface for End-of-Support Edge Devices (p.1; pp.1–2)

面を削る

有効なまま残る処理の欠陥は直らないので、パッチは引き続き要る。

インターネット上の誰でもVPN 機器接続元 IP の制限TLS の終端Web デーモンが全要求を解析例: FortiOS の sslvpnd認証前: 誰にでも応答するログイン画面静的ファイルクライアント配布SAML・SSOクライアントレス無効化管理画面インターネットから外す認証パスワード、MFA、SAML、RADIUSセッション Cookie を発行トンネル・社内資源へ機器の OS(root のことが多い)社内ネットワーク
図 5-4同じ機器で、管理画面をインターネットから外し、使わない機能を止め、手前に接続元 IP の制限を置いた状態縮尺なし

出典: カナダ サイバーセキュリティセンター Security considerations for edge devices (ITSM.80.101) (ITSM.80.101)徳島県つるぎ町立半田病院 コンピュータウイルス感染事案有識者会議 徳島県つるぎ町立半田病院 コンピュータウイルス感染事案 有識者会議調査報告書 技術編 (printed pp.9–11, 14–15; pp.10–14)JPCERT/CC Fortinet製FortiOSの境域外書き込みの脆弱性(CVE-2024-21762)に関する注意喚起 (JPCERT-AT-2024-0004, IV. 回避策)

変更 認証前の範囲から外れるもの 根拠
管理画面を別の管理用ネットワークに移す 管理用 Web 画面とその API CCCS: 管理インターフェースは「should not be directly exposed to the Internet.」
利用者が固定の拠点から接続する場合、ポータルへの接続元アドレスを限定する 一覧外の相手から見た全処理 半田病院の機器は「インターネット上のすべてのシステムからの接続が可能であった。」(技術編 p.11)。移動する利用者には向かず、取引先や拠点間の接続向き
使っていない機能を止める(クライアントレス接続、使っていない SSO 連携、古いプロトコル版) その機能の裏にあるコード CCCS: 「Deactivate any functionality that is not required.」CVE-2026-24858 の影響は FortiCloud SSO を有効にした機器だけだった
未修正の KEV がある間の応急策として、SSL-VPN 機能自体を止める ポータル全体 JPCERT/CC(CVE-2024-21762): 「SSL VPN機能を無効にすることで本脆弱性の回避が可能です。」

製品名、CVE 番号、事例、用語で探せる。