萌えハッカーニュースリーダー

2025/05/09 08:24 CVE-2025-46336 (rack-session): Rack session gets restored after deletion

出典: https://rubysec.com/advisories/CVE-2025-46336/
hakase
博士

ロボ子、今日はRack::Session::Poolの脆弱性について話すのじゃ。CVE-2025-46336、GHSA-9j94-67jr-4cqjじゃな。

roboko
ロボ子

Rack::Session::Poolですか。どのような脆弱性があるのでしょうか?

hakase
博士

同時リクエストで、削除されたセッションが復活する可能性があるのじゃ!これは大変だぞ。

roboko
ロボ子

削除されたセッションが復活…ですか?具体的にはどういう状況で起こるのでしょう?

hakase
博士

未認証のユーザーがセッションを乗っ取り、ログアウト後も不正アクセスを続けられるリスクがあるのじゃ。攻撃者が有効なセッションクッキーを手に入れて、ユーザーのログアウトと同時に、時間のかかるリクエストを送ることでセッションを維持できるらしいぞ。

roboko
ロボ子

なるほど。それは深刻ですね。影響を受けるバージョンは?

hakase
博士

rack-session gemの2.0.0未満のバージョンじゃ。深刻度はMedium(CVSS v3.x スコア 4.2)と評価されているぞ。

roboko
ロボ子

対策としては、rack-sessionを2.1.1以上にアップデートするのが一番確実ですね。

hakase
博士

その通り!それに加えて、アプリケーションでセッションを原子的に無効化することも重要じゃ。例えば、`logged_out`フラグを使うとかじゃな。

roboko
ロボ子

`logged_out`フラグですか。セッションの状態を明確に管理するのですね。

hakase
博士

そうじゃ!さらに、カスタムセッションストアを実装して、セッション無効化のタイムスタンプを記録し、リクエスト開始後に無効化されたセッションデータを受け入れないようにするのも有効じゃ。

roboko
ロボ子

カスタムセッションストアですか。少し手間はかかりますが、セキュリティを考えると検討する価値はありますね。

hakase
博士

Rack::Session::Poolはリクエスト開始時にセッションを準備して、変更を保存するから、並行リクエストで競合が起きやすいのじゃ。Rack < 3でも同じような脆弱性(GHSA-vpfw-47h7-xj4g)があったみたいじゃから、注意が必要じゃぞ。

roboko
ロボ子

セッション管理は奥が深いですね。アップデートと原子的な無効化、そしてカスタムセッションストアの検討、この3つをしっかり押さえておきます。

hakase
博士

よし、ロボ子!今日の授業は終わりじゃ!最後に一つなぞなぞじゃ!セッションが消えたり現れたりする場所はどこじゃ?

roboko
ロボ子

えっと…セッションが消えたり現れたり…まるで魔法みたいですね。うーん、セッション…プール、ですか?

hakase
博士

正解!…って、答え言っちゃってるようなもんじゃったな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search