2FA有効化後のセッション永続性
概要
Nagios Fusionアプリケーション(バージョン2024R1.2および2024R2)には、2要素認証(2FA)を有効にした後でも既存のセッションが有効のままになるという重大なセキュリティ上の欠陥が存在します。具体的には、管理者アカウントで2FAを有効にした場合、アプリケーションは2FA有効化より前に確立されたすべてのアクティブセッションを無効化できません。これにより、古いセッションにアクセスできる攻撃者または不正ユーザーが2FA機構をバイパスし、不正な操作を実行できるようになります。
以下の問題が確認されました:
セッション永続性:2FA有効化前に作成されたセッションは、追加の認証要素を必要とせずに有効なままです。
不正な権限昇格:これらの古いセッションを使用して、攻撃者は2FA検証なしで重要なアカウント詳細を変更したり、管理操作を実行したりできます。
この脆弱性は、2FA有効化プロセス中にセッションの無効化が行われないことに起因し、その結果、アプリケーションが古いセッションに対して追加のセキュリティ機構を適用できないことになります。
深刻度
- 深刻度: 高
- CWE: CWE-613(主); CWE-287(副)
- CVSSスコア(v3.0): 7.3(高)
- CVSSベクター: AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
影響を受けるコンポーネント
- 認証ゲートウェイ/セッションサービス: セッションの発行、検証、および失効のロジック。
- 2FA登録およびポリシーエンジン: 既存のトークンを失効させずにアカウントの保証レベルをアップグレードするロジック。
- Webフロントエンド/API: レガシーセッション状態を信頼する認可チェック。
- デバイス管理: 記憶されたデバイス/信頼されたセッションストア(クッキー、リフレッシュトークン、サーバーサイドセッション)。
影響を受けるベンダー/製品
- 製品名- Nagios Fusion
- 影響を受けるバージョン: 2024R1.2および2024R2
- 修正バージョン: 2024R2.1
問題の概要
発生内容:
- ユーザーがアカウントで2FAを有効にします(TOTP/SMS/プッシュ/WebAuthn)。
- サーバーはユーザーのMFA/保証状態を更新しますが、既存のセッションを無効化したり再チャレンジしたりしません。
- アクティブなセッション(攻撃者が制御するクライアント上のものを含む)は、2FA前のコンテキストで動作し続け、意図された制御強化を実質的にバイパスします。
セキュリティ態勢のギャップ: 2FAの有効化はセキュリティ境界の変更です。セッションのアップグレード(再認証+2FA)を強制せず、レガシーセッションを失効させないことは、その制御によるリスク低減を無効にします。
現実的な悪用シナリオ:
- 盗まれたセッションクッキーを持つ攻撃者は、2FA有効化後もアクセスを維持し、データを流出させたりアカウント設定を変更したりできます。
- 共有キオスクまたは管理されていないデバイスは、新しいMFA要件をバイパスするライブセッションを保持します。
緩和策の推奨事項
- 2FA登録または要素リセット時に、すべてのデバイスにわたる既存のセッション(アクセストークン+リフレッシュトークン)を失効させ、新たなプライマリ認証+2FAを要求します。
- セッションシークレットをローテーション(例:署名キーの変更やサーバーサイドセッションバージョンの引き上げ)して、古いトークンを無効化します。
- maxAgeとidleTimeoutを妥当な値に設定し、長期間有効なセッションを減らします。
開示のタイムライン
- [04-01-2025]: 脆弱性を発見
- [04-01-2025]: ベンダーに報告
- [10-01-2025]: ベンダーが脆弱性を確認
- [23-07-2025]: ベンダーが新しいリリースで脆弱性を修正
- [16-08-2025]: CVEを申請
- [23-10-2025]: CVEを割り当て
📌 このリポジトリは脆弱性報告およびCVE参照のみを目的としています。