【活用ガイド】

JVNDB-2024-003183

DHCP のオプション 121 を利用した VPN のカプセル化回避の問題

概要

DHCP のオプション 121 をサポートする環境で VPN 接続する場合、トラフィックの宛先を強制的に変更し、VPN トンネル外に送信することでカプセル化を回避することができる問題 (CVE-2024-3661) が報告されています。
本問題の報告者は、この問題を「TunnelVision」と呼んでいます。

DHCP RFC 3442 では、ネットワーク管理者がクライアントのルーティングテーブルにスタティックルートを指定できる「オプション 121 クラスレススタティックルート」を定義しています。このオプション 121 をサポートする環境において、VPN クライアントと同じローカルネットワーク上の攻撃者は、本オプションを悪用しルーティングテーブルを操作して、VPN クライアントのトラフィックを VPN 以外の不正なネットワークに強制的に送信する可能性があります (CVE-2024-3661:TunnelVision)。その後、VPN 宛のトラフィックをローカルネットワークにリダイレクトし、VPN を完全にバイパスできます。報告者はこの攻撃を「Decloaking攻撃」と呼んでいます。
この際、クライアント側からは VPN に接続され続けているように見えます。

CVSS による深刻度 (CVSS とは?)

影響を受けるシステム


(複数のベンダ)
  • (複数の製品)

以下のオペレーティングシステムにおいて、ルーティングルールのみに依存してホストのトラフィックを保護する VPN を利用している場合、本問題の影響を受けます。
  • RFC 3442 仕様に従って DHCP クライアントを実装し、DHCP のオプション 121 をサポートするオペレーティングシステム

    * Windows、Linux、iOS、MacOS など

Android は DHCP オプション 121 をサポートしていないため、本問題の影響を受けないとのことです。
想定される影響

VPN を使用していない状態となります。
VPN 上で平文通信を行う想定の場合は、攻撃者によってすべての通信内容を取得される可能性があります。また、通信が暗号化されている場合でも、VPN 接続では入手できないはずの宛先 IP アドレスおよび送信元 IP アドレスの情報を取得される可能性があります。
対策

[VPN 実装者が実施できる対策]
ネットワーク名前空間を利用する

Linux 環境では、VPN を使用するすべてのアプリケーションに対して、物理インターフェイスを含む別の名前空間にトラフィックを送信する前にネットワーク名前空間を使用する機能が存在します。この機能を利用することで本問題の影響を回避することができます。
詳細は、WireGuard’s documentation を参照してください。

[VPN ユーザーが実施できる対策]
ワークアラウンドを実施する

 * 信頼できないネットワークを使用しない
 * ホットスポット (携帯端末によって制御される一時的な Wi-Fi ネットワーク) を利用する
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2024-3661
参考情報

  1. JVN : JVNTA#94876636
  2. 関連文書 : TunnelVision
  3. 関連文書 : Routing & Network Namespaces
更新履歴

  • [2024年05月13日]
      掲載