kunitsuji
tsuji****@m-s*****
2010年 4月 6日 (火) 18:49:52 JST
kunitsujiです。 これって、FORMで配列で値を受け取った時、ということですか。 >お世話になっております。溝口です。 > >Kenji Suzuki <kenji****@gmail*****> さんwrote: > >> となると、この if文自体を削除した方がいいでしょうかね。 >> >> if (isset($prepped_fields[$field_name])) >> { >> return $str; >> } > >ここを削除すると確かに前の値は残らなくなりますが、 >set_value() を2度呼び出した場合、& が >1度目では $amp; >2度目では &amp; >と変換されるようになります(※)。 > >パッチ適用時には、※の問題は起こりません。 > >よろしくお願いいたします。 > > > __________________________ >_________________________________________/ Original Message >Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー >の脆弱性 >From: Kenji Suzuki <kenji****@gmail*****> >To : codei****@lists***** >Cc : -- >Date: 2010/04/06 17:09:36 > >> 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 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