MoonWolfです。
cgi.rbにマルチパート処理時のDoS脆弱性があるという報告(CVE-2006-5467)を
読みました。
http://rubyforge.org/pipermail/mongrel-users/2006-October/001946.html
http://en.securitylab.ru/nvd/276121.php
http://www.frsirt.com/english/CVE-2006-5467.php
CVSをみると9/23に修正されていますね。
1ヶ月以上経つのにアナウンスなしというのは、脆弱性として認めていないから
でしょうか?
どのように対応する予定ですか?
(a)1.8.5に最低限のパッチを当てたものをリリースする
* バージョンは1.8.6? 1.8.5.1? 1.8.5p1?
(b)1.8.6をリリースするまでパッチのみで対応する
* ディストリビュータにパッチ済みバイナリを作ってもらうよう
お願いしないといけない?
* Mandriva,FedoraはすでにFixしたものを提供しています。
* ちなみにDebian unstableのRubyはパッチがあたっていません。
ruby 1.8.5 (2006-08-25) [i486-linux]
以下、cgi.rbをざっと眺めた感想です。
* 否定形の文字クラスは[\x00-\x1f\x7f-\xff]などの非ASCII文字にも
マッチしてしまいます。許可する文字を明示するようにしましょう。
* [\r\n]{1,2}という表現は何を意図していますか? このままだと"\r\r","\n\
n","\n\r"も受け付けてしまう。(\r?\n|\r)と書くべき?
EOLが"\r"という可能性は低いしシンプルに(?:\r?\n)でいいかもしれません。
* read_multipartのheadの扱いが雑。きちんとパースしたほうがいいと思う。
* Integer(str)は負の数も受け付けます。正の数だけが欲しいのではないですか?
|