PHP脆弱性を見て思ったこと

元ネタはこちら。

http://itpro.nikkeibp.co.jp/article/NEWS/20051102/223939/

このセキュリティ・ホールは,ファイル・アップロードでグローバル・
シンボル・テーブル$GLOBALSが書き換えられることにより,リモート
からPHP のスクリプトを実行される可能性があるというもの。PHPの
標準ライブラリであるPEARなどがこのセキュリティ・ホールにより
攻撃される可能性がある。そのほか「影響を付けるシステムやアプリ
ケーションは数え切れないほど多い」(Hardened-PHP Project)。
PHP 4.3.10以下は$_GET,$_POST,$_COOKIEのセキュリティ・ホール
が存在しておりさらに危険という。

この前の価格コムの事件もSQLインジェクションらしいですが、はっきりいって世の中のシステムの90%はメモリリークだらけ、OSインジェクションだらけ、SQLインジェクションだらけだと思います・・。それで、事件になってはじめてわかる。でも、オープンソースだと多人数のソースレビューがあるのと同じなのでそういう脆弱性はすぐに見つかります。品質が高くなる反面、直すほうは「めんどくせー!」と思っているんでしょうね。

ちなみに PerlGCガーベジコレクション)は参照カウント方式らしい(id:naoya:20051012:1129115986)ので、OOP するときは相当気を使わないと簡単にメモリリークします。mod_perlで使うときは綿密なソースレビューが必要そうです。