高橋征義です。

Yukihiro Matsumoto <matz / ruby-lang.org>さん wrote:
> また、大きな変更とおっしゃいますが、外側からセッションIDを注
> 入するような(私の目から見たら不正な)ことをしなければ、問題は
> 発生しないはずです。

一般論ですが、セッションの維持にはセッションクッキー(ブラウザを
閉じれば消去されるクッキー)がよく使われます。その場合、サーバ側で
有効期限を5時間とかに設定して、それより古いサーバ側データは削除
することもあるかと思います。いつまでも残しておくのは危険ですし。
そんな時、ブラウザをあけっぱなしにして(タブブラウザだとよく
ありますよね)、しばらくたってからサイトにアクセスすると、上記の
ような状態が発生するはずです。

なので、「不正なことをしなければ問題は発生しないはず」というのは
ちょっと実感にそぐわないのですが、セッションクッキーは使わないとか
だったりするのでしょうか? それとも私が状況を勘違いしてます?

# というか、そんなに重大な問題であるのならば、1.8.1用の
# cgi/session.rbの対応パッチをリリースして、1.8.1のまま
# 使う人もフォローしないとまずいんじゃないかと思うのですが、
# それほど深刻ではないということなんでしょうか?

[ruby-list:40395]の堀川さんの発言の通り、セッションに要求される
セキュリティは用途によると思います。たとえばsecureフラグのたった
クッキーとそうでないクッキーとは自ずから扱いが変わってくるで
しょうし。あるいは、 cgi/securesession.rb といったライブラリを
用意して、こちらはsecureフラグを立てたクッキーしか使えない
ようにして、知らないIDが来たら例外にするとか……それも極端かも。
 
高橋征義 (Masayoshi Takahashi)  maki / rubycolor.org