1.8.2-preview1での問題ではありませんが
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260779
のようなバグ報告が届きました。

もっともだと思うので、次のような変更を考えてみました。
よければ1.8.2に取り込んでいただきたいです。

Index: lib/cgi/session.rb
===================================================================
RCS file: /var/cvs/src/ruby/lib/cgi/session.rb,v
retrieving revision 1.23.2.3
diff -u -r1.23.2.3 session.rb
--- lib/cgi/session.rb	14 Jul 2004 14:22:11 -0000	1.23.2.3
+++ lib/cgi/session.rb	22 Jul 2004 07:41:54 -0000
@@ -395,7 +395,7 @@
       def update
 	return unless @hash
         begin
-	  f = File.open(@path, 'w')
+	  f = File.open(@path, File::CREAT|File::TRUNC|File::RDWR, 0600)
 	  f.flock File::LOCK_EX
    	  for k,v in @hash
 	    f.printf "%s=%s\n", CGI::escape(k), CGI::escape(String(v))
Index: lib/cgi/session/pstore.rb
===================================================================
RCS file: /var/cvs/src/ruby/lib/cgi/session/pstore.rb,v
retrieving revision 1.3
diff -u -r1.3 pstore.rb
--- lib/cgi/session/pstore.rb	16 Oct 2003 17:47:18 -0000	1.3
+++ lib/cgi/session/pstore.rb	22 Jul 2004 07:41:54 -0000
@@ -70,6 +70,9 @@
 	  @hash = {}
 	end
 	@p = ::PStore.new(path)
+	@p.transaction do |p|
+	  File.chmod(0600, p.path)
+	end
       end

       # Restore session state from the session's PStore file.

# symlinkやownerのチェックも必要でしょうか?

-- 
やまだあきら / akira yamada  <http://arika.org>