元記事はこちら。
by markstory
最近、セキュリティの問題についてPaweł Wyleciał氏より報告されました。ユーザーが提供したXMLを受け付ける場合、外部エンティティを使用して任意のファイルを読み込むことができてしまいます。これはWebサービスの一部としてXMLを受け付けるシステムにおいて極めて危険なものです。一例は以下のようなものです。
curl -X POST -H 'Content-Type: application/xml' locahost/posts -d '<!DOCTYPE cakephp [ <!ENTITY payload SYSTEM "file:///etc/passwd" >]> <Post> <body>&payload;</body> </Post>]'
XMLが処理されると、$this->request->data['Post']['body']
に /etc/passwd
の内容が読み込まれます。この問題は修正済で、2.1と2.2のパッケージも作成されています。この問題は1.3系および1.2系には影響ありません。アップグレードできない場合は、このパッチをできるだけ早く適用してください。
2.2.1のほかの修正点
セキュリティの問題の修正の他に、以下の点も改善されています。
- ネストした名前付きパラメータをurlencodeするように修正
- Windows端末上でANSIコードが出力される問題を修正
HtmlHelper::image()
で、フルベースオプションが使用されている場合に、ベースディレクトリが2回含められてしまう件を修正- シェルのコンソールログがquietモードに対応
- TranslateBehaviorが、レコード保存時に翻訳されたフィールドのみを対象とするよう修正
- ビヘイビアで、2.2.0で欠落したafterValidate()が使用可能になった
2.2.1の変更点の一覧を見る
2.1.5の変更点の一覧を見る
パッケージリリースのダウンロード
CakeFest 2012が近づいており、素晴らしい講演とワークショップがいくつも予定されています。まだチケットを購入していないのであれば、そろそろいかがでしょうか?
いつもながら、パッチやチケットやドキュメントの編集など、このフレームワークに貢献してくれるすべての皆さんに深謝します。あなたがいなければCakePHPは存在しません。
リンク
[1] http://cakephp.org/changelogs/2.2.1
[2] http://cakephp.org/changelogs/2.1.5