注目★★★★★GitHub Advisory
TSDProxy、内部認証トークンをバックエンド経由で漏洩—Tailscale 管理 API 奪取の危険
30秒で把握
- 1TSDProxy が内部認証トークンをすべてのバックエンドに転送、管理 API 認証が迂回可能に
- 2localhost からのリプレイでユーザー認証なしに任意 ID で管理機能にアクセス可能な状態
- 3同一ホスト・Docker ホストネットワーク・共有ネームスペース環境で即座の隔離と identityHeaders の無効化を検討
要約
TSDProxy に認証回避の脆弱性が判明した。デフォルト有効の identityHeaders 機能で、内部認証トークン (x-tsdproxy-auth-token) をすべてのバックエンドサービスに無条件転送していた。攻撃者はこのトークンを localhost の管理ポート (127.0.0.1:8080) にリプレイして任意の x-tsdproxy-id を指定し、Tailscale 認証を完全に迂回できる。同一ホスト上で動作するバックエンドサービスか、ホストネットワークモード Docker、またはネットワークネームスペース共有環境で受け取ったトークンから管理 API へのアクセスが可能となり、管理機能の完全な奪取につながる。
あなたへの影響
TSDProxy を本番運用する場合、バックエンド側で x-tsdproxy-auth-token を受け取ったら即座に管理ポートへのアクセスを絶対に行わないこと。
推奨:同一ホストや Docker ホストネットワークモード環境では、TSDProxy と信頼できないバックエンドサービスを共存させないか、ファイアウォール/ネットワークポリシーで 127.0.0.1:8080 への到達を制限すべき。