注目★★★★★Hacker News
Android 12+のVPN Lockdown、NAT-Tで物理回線へ漏えい
30秒で把握
- 1Android 12+のVPN LockdownがNAT-T keepaliveで物理回線へ迂回
- 2Pixel 8 ProでUDP/4500を10秒間隔送信、SamsungとNothingでも確認
- 3root不要で実IPと送信時刻が漏えい、任意ペイロードは送信不可
要約
AndroidのAlways-on VPNと「VPNなし接続をブロック」は、通常アプリのNAT-T keepaliveを物理ネットワークへ逃がす。Pixel 8 ProのAndroid 16で、VPN Lockdown中もUDP/4500パケットが10秒間隔でWi-Fi側へ送信された。SamsungとNothingでも同じ公開API経由の物理ゲートウェイ到達とkeepalive開始を確認した。原因は、公開APIが渡すfdとIpSecリソースの所有権、呼び出し元UIDのVPNポリシーを検証しないままWi-Fiハードウェアオフロードへ進む実装にある。rootや特別な権限は不要で、実IPアドレスと送信タイミングが漏れるが、任意のペイロードは送信できない。Android 12以降の大半の端末クラスに影響し、残り8.76%の範囲は未解決だ。
あなたへの影響
AndroidのVPN利用アプリを運用する日本の開発チームは、対象端末でVPN Lockdown中の物理NICへのUDP/4500送信を検証し、修正版や回避策の有無を確認すべきです。
推奨:NAT-TはIPsecのNAT越え用keepaliveで、今回の問題は通常のアプリ通信ではなくWi-Fi側のハードウェアオフロードが経路制御を迂回する点にあります。