概要
2FAuth は オープンソース の 二要素認証(2FA)管理 アプリケーション です。TOTP や HOTP など の ワンタイム パスワード を Web ベース の インターフェース で 一元 管理 する ため の ツール と して、セルフ ホスティング 環境 で 利用 されて います。
この 脆弱性 は、OTP URL の image パラメータ に おける 入力 検証 の 不備 に 起因 する Blind SSRF(Server-Side Request Forgery)です。CWE-918(サーバーサイドリクエストフォージェリ)に 分類 されます。
2FAuth は OTP の アカウント に アイコン 画像 を 設定 する 機能 を 提供 して います。この 機能 で は、OTP URL 内 の image パラメータ で 指定 された URL から 画像 を サーバー 側 で 取得 します。しかし、この 画像 取得 処理 に おいて、内部 ネットワーク や プライベート IP アドレス 範囲 へ の リクエスト を 適切 に 制限 して いませんでした。
この 不備 に より、認証 済み の ユーザー が 2FAuth サーバー を 踏み台 と して、サーバー から アクセス 可能 な 内部 ネットワーク や クラウド メタデータ エンドポイント に 対して HTTP リクエスト を 送信 する こと が 可能 です。
クラウド 環境(AWS、GCP、Azure 等)で 2FAuth を 運用 して いる 場合、メタデータ エンドポイント(例: 169.254.169.254)へ の アクセス に よって、IAM ロール の 一時 認証情報 や インスタンス の 設定 情報 が 漏洩 する リスク が あります。オンプレミス 環境 で も、内部 ネットワーク の サービス 探索 や 内部 API へ の 不正 アクセス に 悪用 される 可能性 が あります。
Blind SSRF で ある ため、攻撃者 は レスポンス の 内容 を 直接 取得 する こと は できませんが、リクエスト の 成否 や レスポンス 時間 に 基づいて 内部 ネットワーク の 情報 を 推測 する こと は 可能 です。また、環境 に よって は、メタデータ エンドポイント の レスポンス が 画像 パーサー の エラー メッセージ 等 を 通じて 間接 的 に 漏洩 する 場合 も あります。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.1 (Critical) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 低(認証済みユーザー) |
| ユーザ関与 | なし |
| 機密性への影響 | 高 |
| 完全性への影響 | 高 |
| 可用性への影響 | なし |
| CWE | CWE-918 (サーバーサイドリクエストフォージェリ) |
影響 を 受ける ソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| 2FAuth | Bubka | 6.1.0 未満 の すべて の バージョン |
2FAuth を Docker コンテナ で 運用 して いる 場合、コンテナ の ネットワーク 設定 に よって は ホスト ネットワーク や 他 の コンテナ へ の アクセス も 可能 に なる ため、影響 範囲 が 拡大 する 可能性 が あります。
修正 バージョン と 回避策
- 修正バージョン: 2FAuth 6.1.0 で 修正 されて います
- アップデート手順: Docker を 利用 して いる 場合 は イメージ を 最新 版 に 更新 して ください。手動 インストール の 場合 は GitHub Releases から 6.1.0 以降 を ダウンロード して ください
- 暫定回避策: アップデート が 直ちに 行えない 場合 は、以下 の 対策 を 検討 して ください
- クラウド 環境 で は IMDSv2(Instance Metadata Service v2)を 強制 に 設定 し、メタデータ エンドポイント へ の 不正 アクセス の リスク を 軽減 する
- Docker を 使用 して いる 場合 は、コンテナ の ネットワーク を 分離 し、内部 サービス へ の アクセス を 制限 する
- ネットワーク レベル で 2FAuth サーバー から の 内部 IP アドレス 範囲 へ の アウトバウンド 通信 を 制限 する ファイアウォール ルール を 設定 する
- 信頼 できる ユーザー のみ に アカウント を 発行 し、不要 な アカウント を 無効化 する
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
