現行版のPHPに任意メモリ参照バグ – 攻撃コード付き

Computer, Security 1月 5, 2009 #PHP, #脆弱性
(Last Updated On: )

随分前から共有型Webホスティングサービスでは安全性を確保できないので、安全性を重視するサイト(ECなど)は最低限でも仮想ホスト型の共有サービスを利用すべきである、と言っています。

今回のエントリはPHPをApacheモジュールで共有型ホスティングサービスを利用しているユーザに影響します。SSLを利用している場合は秘密鍵を盗まれます。このバグはPHP 5.2.8でも修正されていません。当然ですがPHP 4.4.9でも修正されていません。

Milw0rmのアドバイザリ

http://www.milw0rm.com/exploits/7646

には、そのまま使える、任意のアドレスのデータを参照するコードまで付いています。秘密鍵を盗むことは簡単です。

誤解してはならない事ですが、これはPHPに限った問題ではありません。PHPでは度々このようなバグがセキュリティ問題として報告されています。これは、PHPがApacheのモジュールとして実行され、複数のユーザが共有して利用している環境が多いからです。Webサーバモジュールとして動作している言語に共通の問題です。mod_perl、mod_python、mod_rubyを利用している場合でもメモリ参照可能な仕様やバグがあります。

PHPの場合、共有環境でなくても、リモートスクリプト実行が可能な場合は、この攻撃でメモリ上に展開されている重要な情報、辞書攻撃によるパスワードクラックを防止する為のsalt、などが漏洩する可能性があります。

参考:
CVE-2008-5498
https://www.ircert.cc

投稿者: yohgaki