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

Back to archive index

Kenji Suzuki kenji****@gmail*****
2010年 4月 6日 (火) 17:09:36 JST


Kenji です。


On Tue, 06 Apr 2010 15:12:43 +0900
溝口 令雄 <mizog****@gmail*****> wrote:

> 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番目の要素の値になってしまいました。
> パッチを元に戻すとこの現象は起こりません。
> 
> これはどのように対処すべきでしょうか?

なるほど。そうですか。

となると、この if文自体を削除した方がいいでしょうかね。

 		if (isset($prepped_fields[$field_name]))
 		{
			return $str;
 		}


// Kenji

 
> よろしくお願いいたします。
> 
> 
>                                           __________________________
> _________________________________________/   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 mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




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