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

Back to archive index

溝口 令雄 mizog****@gmail*****
2010年 4月 6日 (火) 15:12:43 JST


Kenji 様

お世話になっております。溝口です。

Kenji Suzuki <kenji****@gmail*****> さんwrote:

> CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを 
> 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる
> 可能性があります。
> 
> 詳細
> http://d.hatena.ne.jp/Kenji_s/20100316/1268701194

上記ページに記載して頂いたパッチを当てたところ、たとえば

----------
<?php foreach ($rows as $idx => $row): ?>
...(中略)...
<?= form_input(array(
    'name' => F_SORT . '[]',
    'value' => $row[DBC_SORT], // (A)
    'size' => '2',
    'tabindex' => $idx + 1
)) . LF  ?>
...(中略)...
<?php endforeach; ?>
----------

のようにform_input()関数をループ中で繰り返し呼び出している箇所で、
value属性に指定している(A)の値($row[DBC_SORT]の値)が常に$rowsの
1番目の要素の値になってしまいました。
パッチを元に戻すとこの現象は起こりません。

これはどのように対処すべきでしょうか?

よろしくお願いいたします。


                                          __________________________
_________________________________________/   Original Message
Subj: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの
脆弱性
From: Kenji Suzuki <kenji****@gmail*****>
To  : codei****@lists*****
Cc  : --
Date: 2010/03/16 10:07:28

> Kenji です。
> 
> 
> CodeIgniter 1.7.2 の Formヘルパー の set_value() で同じフィールドを 
> 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる
> 可能性があります。
> 
> 詳細
> http://d.hatena.ne.jp/Kenji_s/20100316/1268701194
> 
> これ、なかなか修正されないのでバグでないのかも知れませんが。
> このバグに当たるような実装をすることは少ないと思いますが、知らずに
> やってしまうと危険ですので、注意喚起しておきます。
> 
> 
> 本家では、以下に書き込みがあります。バグだと思われる方は、「バグなの
>> 直してくれ」みたいなことを書き込んでもらえるといいかもしれません。
> 
>     * http://codeigniter.com/bug_tracker/bug/11284/
>     * http://codeigniter.com/forums/viewthread/139112/
> 
> 
> // Kenji
> 
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
____________________________________________________________________




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