PHPのセキュリティ問題


PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下)(yohgaki’s blog)
あたりが詳しいのだが、PHP 4.4.0以前と5.0.5以前にsecurity holeが見つかった。
リモートからPHPスクリプトを実行される可能性がある、というものだ。
影響を受ける環境1

影響を受ける環境2

影響を受ける環境3

  • import_request_variables等を使ってスコープ内にユーザが送信した変数を初期化しているプログラムを使用している(実装の違いからPHP4とPHP5で影響範囲が違う)

とある様に、”register_globals=on”で運用しているシステムが一番の問題です。
また、”parse_str関数を1つの引数のみでユーザが送信したデータに対して使用した場合”は、
“スクリプトが終了するまで、register_globals=onになってしまう”ので注意すべきです。
“import_request_variables等を使ってスコープ内にユーザが送信した変数を初期化”するような
古いスクリプトをregister_globals=off環境でも動作するように修正したスクリプトを使用していたりした
場合についても注意すべき、ということの様です。
つまり、PHPにpatchを当てるだけではなく、コード自体の見直しも必要だということですね。
ネタ元blogの同氏のWikiにpatchがあります。 $GLOBAL保護パッチ