From: Yukihiro Matsumoto Date: 2009-11-03T22:57:28+09:00 Subject: [ruby-dev:39624] Re: [Bug #2308] セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する まつもと ゆきひろです In message "Re: [ruby-dev:39623] Re: [Bug #2308] セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する" on Tue, 3 Nov 2009 22:27:53 +0900, Shugo Maeda writes: |手元で上手く再現しなかったのですが、すでにSymbolがある文字列("Noinferiors"など) |だとSecurityErrorにならないのですね。 | |以下のcommitで導入されたようですが、そもそもこのチェックはどういう意図 |でしょうか? > まつもとさん | |Wed Sep 13 16:43:36 2006 Yukihiro Matsumoto | | * string.c (rb_str_intern): prohibit interning tainted string. | |SymbolはGCの対象にならないので、外部からの入力をinternするのはまずい、 |ということでしょうか。 そういうことです。無限にシンボルを導入してメモリを圧迫する攻 撃を避けるためです。既存のシンボルはメモリ状態に変化がないの で、例外になりません。