■ セキュリティ対策リリース
posted on 2010/09/10 at AM 10:38 by makoto
この文書は 公式の発表 を露木誠(mtsuyuki あっと gmail.com)が訳したものです。
Djangoチームはセキュリティの問題を取り除いた1.2.2をリリースしました。この問題は独立した2つのグループから別々に明らかにされました。Django1.2のユーザは早急にアップグレードしてください。
問題の内容
1.2のリリースでDjangoのCoreフレームワークにCSRF対策を含めました。これは標準で有効になっています。以前のリリースでは別のかつ、オプションで有効にするものを提供していました。
Django1.2のCSRF対策システムはランダムなトークンを生成し、フォーム出力にhiddenフィールドとして埋め込んでいます。同じ値がクッキーにもセットされサブミット時にクッキーとフォームの値が比較されます。
CSRF対策のトークンをフォームに埋め込むテンプレートタグ -- {% csrf_token %} -- はクッキーの値を信用し、そのまま出力します。そのためCSRF対策クッキーを不正に変更できる攻撃者は任意のコンテンツをエスケープされる事無くhtmlのformに挿入でき、XSS攻撃を可能にします。
この問題は最初、DjangoのTracに公開チケットとして報告され、そのチケットの優先順位付けフローの間に、MozillaのJeff Baloghから独立して方向腐れました。
解決方法
trunkと1.2のリリースブランチには、クッキーの値を信頼せずにエスケープをするパッチを適用しました。今後のDjangoリリースでは、このような問題が発生することをさけるため、専用のクッキーを使う方法をさけるかもしれません。
パッチは以下で入手可能です。
- Django trunk: Changeset 13698
- Django 1.2: Changeset 13699
以下がリリースされています。
セキュリティに関して
セキュリティの問題になる可能性があるモノについては security@djangoproject.com へ送ってもらえるよういつもお願いしています。DjangoのTracやdevelopersメーリングリストではなく、です。
この種の問題は時間的制約のために、本来のDjangoのディストリビュータへの事前通知を行えず、通知がリリースの直前になってしまいました。もし、Djangoのサードパーティーディストリビュータ (訳注:恐らくOS等のパッケージ管理者等と推測される) だと考えられるにもかかわらず、通知のメールがDjangoのリリースマネージャから届いていない場合には、james@b-list.orgへ連絡を取ってください。
Tag | news |
