[PHP-dev 693] Re: 国際化版PHP 4.2.3 のwordwrap()についてですが。。。

Yasuo Ohgaki php-dev@php.gr.jp
Sat, 15 Feb 2003 11:15:45 +0900


大垣です。

Moriyoshi Koizumi wrote:
>>PHPのソースが解析できてないので申し訳ありませんが、以下の件で
>>どのようになっているか教えていただければと思います。
>>
> 
> 
> http://bugs.php.net/20927
> 
SNIP
> 私なりの分析ですけれど、ユーザからの入力をそのまま、あるいは一旦 DB に格納
> したものを wordwrap に与えるケースはある程度想像することができますが、そも
> そも日本語ではあまり意味をなさない関数ですからね、実際のところ、どれだけ
> exploit が有効なのかは計りかねます。

シングルバイトアプリケーションの場合でwordwrapを使っていても、heap領域なの
でexploit(コードの実行)はかなり難しいと思います。

http://cvs.php.net/diff.php/php4/ext/standard/string.c?sbt=2&login=2&r1=1.288&r2=1.289&ty=u
でオーバーフローを直そうとしたが不足があって
http://cvs.php.net/diff.php/php4/ext/standard/string.c?sbt=2&login=2&r1=1.335&r2=1.336&ty=u
でおなした、という事のようですね。

他のパッチ(1.192など)でもwordwrapは変更されているので、4.1.2以前のPHP
なら大丈夫という訳ではないと思います。1.192は無限ループバグに対するパッチら
しいのでこちらの方はDoS攻撃が簡単にできそうです。

http://cvs.php.net/diff.php/php4/ext/standard/string.c?sbt=2&login=2&r1=1.191&r2=1.192&ty=u

どちらにしてもwordwrapを使わなければ気にする必要がないことですが...

--
Yasuo Ohgaki