- 2010-11-17 (水) 23:33
- CakePHP
すでにご存知の方も多いと思うのですが、CakePHPに深刻なセキュリティホールが見つかりました。
SecurityComponentの実装に問題があり、結果、外部から任意のコードを実行させることができるという深刻な内容です。
セキュリティホールの概要や攻撃手順については以下のエントリが詳しいですので、ご一読を。
CakePHP の PHP コード実行の脆弱性を使って CakePHP を焦がす
なお、今回の問題はSecurityComponentを利用していない場合は発生しません。
もしSecurityComponentを利用している場合は、以下のいずれかの方法で早急に対策してください。
1. CakePHP1.2.9 or 1.3.6にアップグレードする。
この脆弱性を受けて修正バージョンが出ています。
CakePHP 1.3.6 and 1.2.9 released | The Bakery, Everything CakePHP
2. SecurityComponentを自分で修正する
バージョン変更が容易で無い場合は、SecurityComponent を修正します。
以下に修正差分があるので、このコードをSecurityComponentに適用してください。
https://github.com/cakephp/cakephp/commit/e431e86
3. SecurityComponentの利用をやめる
SecurityComponentを CSRF 対策で利用している人も多いと思いますが、現在のSecurityComponent は必要以上に複雑な実装となっていて内容が掴みづらいという印象です。
いっそのこと自分に必要なシンプルなものを自作してしまうのもひとつの方法です。(私も社内で開発したものを使っています。)
まずは確認を
CakePHPを使っている方は、まずはSecurityComponentを利用しているか確認を。
簡易的ですが、SecurityComponent を使っているかどうかは以下のコマンドでも探せます。
% find app/ -name "*.php" | xargs grep "'Security'" % find plugin/ -name "*.php" | xargs grep "'Security'"
まだ実際のサイトでの攻撃例は聞かないですが、今後発生する可能性があります。お気をつけを。
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2010/11/cakephp_security_component_vulnerability.html/trackback
- Listed below are links to weblogs that reference
- CakePHPのSecurityComponentに深刻なセキュリティホールが見つかりました from Shin x blog