公開日:2024/05/10 最終更新日:2024/05/10

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

概要

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

影響を受けるシステム

以下のオペレーティングシステムにおいて、ルーティングルールのみに依存してホストのトラフィックを保護するVPNを利用している場合、本問題の影響を受けます。

  • RFC 3442仕様に従ってDHCPクライアントを実装し、DHCPのオプション121をサポートするオペレーティングシステム
    • Windows、Linux、iOS、MacOSなど
Androidは DHCPオプション121をサポートしていないため、本問題の影響を受けないとのことです。

詳細情報

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

想定される影響

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

対策方法

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

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

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

ベンダ情報

参考情報

  1. Leviathan Security Group
    TunnelVision
  2. WireGuard
    Routing & Network Namespaces

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia