[#39420] Marshal.load で例外発生時に Segmentation fault エラー — patamanta@...
金田有二と申します。
5 messages
2009/10/02
[#39421] exception from open-uri — Yusuke ENDOH <mame@...>
遠藤です。
5 messages
2009/10/03
[#39439] [Bug #2179] 1.9.2において block のスコープがおかしいときがある — 益隆 三村 <redmine@...>
Bug #2179: 1.9.2において block のスコープがおかしいときがある
4 messages
2009/10/06
[#39446] Is the maintainer discharging rule approved? and about matrix.rb — Yugui <yugui@...>
Yuguiです。
4 messages
2009/10/08
[#39451] getaddrinfo: Name or service not known (SocketError) in net/ftp — Tanaka Akira <akr@...>
boron で気がついたのですが、net/ftp で login のときに
4 messages
2009/10/09
[#39469] Re: getaddrinfo: Name or service not known (SocketError) in net/ftp
— Shugo Maeda <shugo@...>
2009/10/12
前田です。
[#39453] [BUG: trunk] GC mark bug — SASADA Koichi <ko1@...>
ささだです.
7 messages
2009/10/10
[#39501] [bug:trunk] invalid memory access in 100**900 — Tanaka Akira <akr@...>
以下のように、100**900 を計算すると変なところをアクセスするようです。
4 messages
2009/10/17
[#39506] [Bug:1.9] case 文の式が省略され when 節に配列展開があるときの挙動 — wanabe <s.wanabe@...>
ワナベと申します。
4 messages
2009/10/17
[#39533] [Bug #2263] typo in man/ruby.1 — Narihiro Nakamura <redmine@...>
Bug #2263: typo in man/ruby.1
11 messages
2009/10/24
[#39534] Re: [Bug #2263] typo in man/ruby.1
— Yusuke ENDOH <mame@...>
2009/10/24
遠藤です。
[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>
Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる
10 messages
2009/10/27
[#39578] [Bug #2308] セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する — Nozomu Kurasawa <redmine@...>
Bug #2308: セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する
5 messages
2009/10/30
[#39579] [Bug #2310] should ensure GVL_UNLOCK_END in rb_thread_blocking_region — _ wanabe <redmine@...>
Bug #2310: should ensure GVL_UNLOCK_END in rb_thread_blocking_region
4 messages
2009/10/30
[#39584] Re: [ruby-cvs:32774] Ruby:r25556 (trunk): * array.c (rb_ary_to_ary): do not use #respond_to? to detect — Nobuyoshi Nakada <nobu@...>
なかだです。
6 messages
2009/10/30
[#39585] Re: [ruby-cvs:32774] Ruby:r25556 (trunk): * array.c (rb_ary_to_ary): do not use #respond_to? to detect
— Yukihiro Matsumoto <matz@...>
2009/10/30
まつもと ゆきひろです
[#39589] Re: [ruby-cvs:32774] Ruby:r25556 (trunk): * array.c (rb_ary_to_ary): do not use #respond_to? to detect
— Yukihiro Matsumoto <matz@...>
2009/10/30
まつもと ゆきひろです
[#39591] Re: [ruby-cvs:32774] Ruby:r25556 (trunk): * array.c (rb_ary_to_ary): do not use #respond_to? to detect
— Nobuyoshi Nakada <nobu@...>
2009/10/30
なかだです。
[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>
遠藤です。
17 messages
2009/10/30
[#39596] Re: infinite recursive call to C function
— Yukihiro Matsumoto <matz@...>
2009/10/30
まつもと ゆきひろです
[#39599] Re: infinite recursive call to C function
— Nobuyoshi Nakada <nobu@...>
2009/11/02
なかだです。
[#39601] Re: infinite recursive call to C function
— Yukihiro Matsumoto <matz@...>
2009/11/02
まつもと ゆきひろです
[#39602] Re: infinite recursive call to C function
— Nobuyoshi Nakada <nobu@...>
2009/11/02
なかだです。
[#39603] Re: infinite recursive call to C function
— Yukihiro Matsumoto <matz@...>
2009/11/02
まつもと ゆきひろです
[#39605] Re: infinite recursive call to C function
— Nobuyoshi Nakada <nobu@...>
2009/11/02
なかだです。
[#39608] Re: infinite recursive call to C function
— Yukihiro Matsumoto <matz@...>
2009/11/02
まつもと ゆきひろです
[#39609] Re: infinite recursive call to C function
— Nobuyoshi Nakada <nobu@...>
2009/11/02
なかだです。
[#39610] Re: infinite recursive call to C function
— Yukihiro Matsumoto <matz@...>
2009/11/02
まつもと ゆきひろです
[ruby-dev:39578] [Bug #2308] セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する
From:
Nozomu Kurasawa <redmine@...>
Date:
2009-10-30 00:09:46 UTC
List:
ruby-dev #39578
Bug #2308: セーフレベル1の場合、Net::IMAPでSecurityErrorが発生する
http://redmine.ruby-lang.org/issues/show/2308
起票者: Nozomu Kurasawa
ステータス: Open, 優先度: Normal
カテゴリ: lib
ruby -v: ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
鍋太郎といいます。
初めまして。
Net:IMAPを利用してプログラムを作成しているのですが、
セーフレベル1の場合にNet::IMAP#listがエラーとなってしまいます。
以下のコードで検証できます。
ruby -r net/imap -e 'Net::IMAP.debug = true;$SAFE=1;i=Net::IMAP.new("localhost");i.login("test","test");i.list("","*")'
#前準備としてIMAPサーバを立てて、testユーザを準備する必要があります。
結果は以下になります。検証にはdovecotを使用しました。
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready.
C: RUBY0001 LOGIN test test
S: RUBY0001 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH QUOTA] Logged in
C: RUBY0002 LIST "" "*"
S: * LIST (\HasChildren) "." "INBOX"
/usr/lib/ruby/1.8/net/imap.rb:2876:in `intern': Insecure: can't intern tainted string (SecurityError)
from /usr/lib/ruby/1.8/net/imap.rb:2876:in `flag_list'
from /usr/lib/ruby/1.8/net/imap.rb:2875:in `collect'
from /usr/lib/ruby/1.8/net/imap.rb:2875:in `flag_list'
from /usr/lib/ruby/1.8/net/imap.rb:2519:in `mailbox_list'
from /usr/lib/ruby/1.8/net/imap.rb:2515:in `list_response'
from /usr/lib/ruby/1.8/net/imap.rb:1978:in `response_untagged'
from /usr/lib/ruby/1.8/net/imap.rb:1950:in `response'
from /usr/lib/ruby/1.8/net/imap.rb:1876:in `parse'
from /usr/lib/ruby/1.8/net/imap.rb:1008:in `get_response'
from /usr/lib/ruby/1.8/net/imap.rb:932:in `receive_responses'
from /usr/lib/ruby/1.8/net/imap.rb:925:in `initialize'
from /usr/lib/ruby/1.8/net/imap.rb:924:in `start'
from /usr/lib/ruby/1.8/net/imap.rb:924:in `initialize'
from -e:1:in `new'
from -e:1
ライブラリを確認したところ、フラグをパースした後で、Symbol化する際に、
サーバから取得したフラグがまだ汚染されているのに intern しているのが原因のようです。
サーバから取得したフラグのうち、パーサ内に定義されているもののみ internしていますので、
untaintしてしまっても問題ないと思いますがいかがでしょうか?
Index: lib/net/imap.rb
===================================================================
--- lib/net/imap.rb (revision 25555)
+++ lib/net/imap.rb (working copy)
@@ -2878,7 +2878,7 @@
if @str.index(/\(([^)]*)\)/ni, @pos)
@pos = $~.end(0)
return $1.scan(FLAG_REGEXP).collect { |flag, atom|
- atom || flag.capitalize.intern
+ atom || flag.capitalize.untaint.intern
}
else
parse_error("invalid flag list")
以上よろしくお願いします。
----------------------------------------
http://redmine.ruby-lang.org