[Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの脆弱性

Back to archive index

Kenji Suzuki kenji****@gmail*****
2010年 3月 18日 (木) 16:46:37 JST


Kenji です。


On Thu, 18 Mar 2010 15:10:21 +0900
kunitsuji <tsuji****@m-s*****> wrote:

>  kunitsujiです。
> 
> たとえば、htmlspecialchars()を、開発者が普通に記述すれば問題ないわけです
> よね?
> <input type="text" name="hoge" value="<?php echo htmlspecialchars
> (set_value('hoge')) ;?>"

そうですね。XSS にはなりません。

余段ですが、htmlspecialchars() は、第2、第3引数を必ず指定するように
しましょう。


> この、set_value()そのものが、htmlspecialchars()をかけているので変換され
> ますよ、
> という仕様であれば、届出が必要だと思いますが、
> どちらなんでしょう?

http://codeigniter.jp/user_guide_ja/helpers/form_helper.html
には、

Note: このページにリストアップされたいずれのFormヘルパ関数を使うときも、値は自動的に整形処理されるので、この関数を呼び出す必要はありません。自分で書いたForm要素の中でだけ、この関数を使用してください。

とあります。

なので、Formヘルパーの関数を使う限り、htmlspecialchars() がかかると
理解するのが通常だと思います。


> そういう仕様ではない場合、CIの脆弱性ではなく、PHPの開発者の問題ではない
> かと思います。
> たとえば、普通にPHPのPOSTで受け取った値をhtmlspecialchars()で使うという
> のが当たり前になっていますが、そこでそれを使うかどうかは開発者の知識の問
> 題であり、知ることは必要ですが、CIのset_value()の脆弱性といえるのでしょ
> うか?
> 
> 
> ※ただし、1回目はかかって2回目はかからない、ということなので、明らかにお
> かしいとは思います。
> 
> 問題は1回目がかかり、2回目がかからない、という部分ですね。
> このあたりのCI開発側の見解をしりたいですが。

見解は今のところわかりません。バグトラッカーにみんなで「どうなんだ?」
と書くといいかも知れませんが。

バグ報告が Not a bug になってないので、即座にバグでないとは判断されて
ないということは言えると思います。また、修正されているわけでもないので、
何かややこしい問題があるのかもしれません。


> 仮に、あくまでもそういう仕様である、ということであれば、、、
> 2回目に開発者自らhtmlspecialchars()を適用すればいいことであります。

いくらなんでも、それは、バッドノウハウすぎると思います。
仕様がおかしすぎます。

純粋に仕様だけ考えると、フレームワークとしては、ヘルパーが全部 
htmlspecialchars() を適用するというのが、いいんじゃないかと思います。
適用漏れの可能性も減りますし。


// Kenji


> その場合、報告の内容が変わってくると思いますが。
> 
> 2回目以降もかかるべきものが、かかっていない、という認識、仕様であれば、
> set_value()の扱い方の注意勧告としてでるべきではないかと思います。
> 
> 
> 
> >Kenji です。
> >
> >
> >On Wed, 17 Mar 2010 14:29:36 +0900
> >溝口 令雄 <mizog****@gmail*****> wrote:
> >
> >> ■脆弱性関連情報の届出
> >>   http://www.ipa.go.jp/security/vuln/report/
> >> 
> >> には登録されてますでしょうか?
> >
> >してません。もともと私が見つけたときには、すでに本家 Forum に
> >あがっている情報でしたし、届け出などはするつもりがなかったので
> >勝手に公表してます。
> >
> >
> >> JVNで周知されるべきレベルの問題のようにも思います。
> >
> >そうですね。そういうルートでやるのもいいかもしれませんね。
> >
> >JVN で周知されるべきだとの考えに賛同される方のどなたか
> >お願いします。私はすでにガイドラインにしたがっていないので。
> >
> >
> >// Kenji
> >
> >_______________________________________________
> >Codeigniter-users mailing list
> >Codei****@lists*****
> >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> 
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index