CakePHP コアチームは CakePHP 2.5.9, 2.6.11, 2.7.2 が入手可能になったことをお知らせいたします。これらはプリフィックスルーティングを使用しているアプリケーションで重要なセキュリティ面の修正を含んでいます。
セキュリティフィックス
CakePHPアプリケーションのセキュリティに関連した問題が2点あります。
- 規約外のURLパスで、正しいリクエストパラメータを設定しなくともプリフィックスアクションに直接アクセスできてしまう。もしプリフィックスルーティングのキーの存在の有無で認証を行っているのであれば、すぐにアップグレードが必要
- Validation::compare() と、Validation::range() で、過去の特定の条件から細工されたデータを可能にしてしまう
いずれの問題も Kurita Takashi 氏による セキュリティ問題の報告(英語)からの報告です。感謝いたします。すべてのCakePHPユーザにできるだけ早いアップグレードをおすすめします。CakePHP3系はプリフィックスルーティングの問題の影響は受けません。
2.7.2 のほかの修正
- selfを使用していた箇所が、静的読み込みに置き換えられた。コアクラスのサブクラス化の可能性を改善するため
- HttpSocket は SNI_enabled を使用不可にできるようになった
- HttpSocket は 単独の「0」に遭遇してもデータの読み込みを継続できるようになった
- ObjectCollection クラスの attached(), unload(), disable() メソッドで、一貫してプラグインのプリフィックスを扱えるようになった
- Configure で、マルチバイトが読み込まれたのちも自力でローディングするようになった。mbstringの無い環境での依存性の問題を解消する
- moファイル外の翻訳内容が正しく解析されるようになった
- EmailComponent で、件名がnullのメッセージの送信時に致命的なエラーが発生しなくなった
変更点の詳細については、リリースノートを参照してください。