Hardened-PHP Projectは10月31日(現地時間),オープンソースWebアプリケーション開発言語PHPの深刻なセキュリティ・ホールを警告した。リモートからPHPスクリプトを実行される「今まで見つかった中でも最悪のセキュリティ・ホール。全てのPHPユーザは今すぐ対処を行う必要がある」(日本PHPユーザー会 大垣靖男氏)。PHP4の4.4.0以前のバージョン,PHP5の5.0.5以前のバージョンが影響を受ける。対策はパッチを適用することなど。
このセキュリティ・ホールは,ファイル・アップロードでグローバル・シンボル・テーブル$GLOBALSが書き換えられることにより,リモートからPHPのスクリプトを実行される可能性があるというもの。PHPの標準ライブラリであるPEARなどがこのセキュリティ・ホールにより攻撃される可能性がある。そのほか「影響を付けるシステムやアプリケーションは数え切れないほど多い」(Hardened-PHP Project)。PHP 4.3.10以下は$_GET,$_POST,$_COOKIEのセキュリティ・ホールが存在しておりさらに危険という。
対策は,PHPの場合4.4.1以上にアップグレードすること。PHP5の場合「日本時間11月2日時点ではPHP5用のパッチまたは対策済みリリースは公開されていない」(大垣氏)。大垣氏がPHP 5.0.4またはPHP 5.0.5用のセキュリティ・パッチを公開している。
ただし,PHP4.4.xではソースコード埋め込み定数参照の仕様が変更されているため,プログラムが動作しなくなる場合がある。大垣氏がPHP 4.3.11用のセキュリティ・パッチを公開している。
◎関連資料
◆Advisory: PHP File-Upload $GLOBALS Overwrite Vulnerability(Hardened-PHP Project)
◆$GLOBALS Overwrite and it's Consequences(Hardened-PHP Project)
◆PHP 4 ChangeLog
Version 4.4.1(The PHP Group)
◆PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下)(日本PHPユーザー会 大垣靖男氏)
◆PHP/patch/$GLOBAL保護パッチ(日本PHPユーザー会 大垣靖男氏)
【11月9日追記】
このセキュリティ・ホールは,PHPの設定がregister_globals=onの場合に影響を受ける。register_globals=offであれば影響は受けない。PHP 4.2.0以降では,デフォルト設定ではregister_globals=offとなっている。
◆PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下) - まとめ(日本PHPユーザー会 大垣靖男氏)