From: Shugo Maeda Date: 2009-11-04T09:57:17+09:00 Subject: [ruby-dev:39634] Re: [Bug #2308] セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する 前田です。 2009年11月3日22:57 Yukihiro Matsumoto : > |以下のcommitで導入されたようですが、そもそもこのチェックはどういう意図 > |でしょうか? > まつもとさん > | > |Wed Sep 13 16:43:36 2006 Yukihiro Matsumoto > | > | * string.c (rb_str_intern): prohibit interning tainted string. > | > |SymbolはGCの対象にならないので、外部からの入力をinternするのはまずい、 > |ということでしょうか。 > > そういうことです。無限にシンボルを導入してメモリを圧迫する攻 > 撃を避けるためです。既存のシンボルはメモリ状態に変化がないの > で、例外になりません。 了解です。 Net::IMAPの場合は、サーバが返す文字列をクライアント側でinternするので、 逆の場合に比べればリスクは小さい気がしますね。 1.8ではuntaintすることにしようかなと思います。 -- Shugo Maeda