Django 1.2.2リリース-セキュリティアップデート
2010年9月8日に、
Django開発者はリリース1.2.2をリリースし、攻撃者が
XSS攻撃を開始できる脆弱性を解決しました。 皮肉なことに、XSSに対する脆弱性はシステムのコードにあり、別のタイプの攻撃
-CSRFに対する保護を実行します。 このシステムはバージョン1.2で根本的に変更されました(以前のバージョンでは、CSRFに対する保護はフレームワークのコアの一部ではなく、単なるプラグイン可能なレイヤーでした)。
エッセンス
CSRFに対する保護は、次の原則に従って機能します。ランダムシーケンス(トークン)が生成され、フォームの非表示フィールドに挿入され、同じシーケンスが特別なCookieに書き込まれます。 フォームを送信すると、非表示フィールドとCookieの値が比較され、これらの値が一致する場合、信頼できるユーザーがフォームを完成したと考えられます。
脆弱性自体について:判明したように、フォームコードに非表示フィールドのHTMLコードを挿入するために使用されるテンプレートタグ
{% csrf_token %}
は、トークンの値を無条件に信頼し、
エスケープせずに挿入します。 トークンの値はCookieから取得されます。
したがって、攻撃者はCookieを偽造し、その値にHTMLコードを挿入して、ページに埋め込む可能性があります。脆弱なバージョン
1.2より前のバージョンは、理解しやすいものではありません。
問題解決
開発者は、ブランチ1.2のすべてのユーザーにすぐに1.2.2にアップグレードするように提供しますが、事前の通知は行わなかったことに注意してください。
脆弱性の本質をよりよく理解するために、手動で
パッチを適用するか
、差分を
見ることができます。
こちらもご覧ください
PS 一部の人はすぐに反応したが、ほぼ1日の間、彼らがニュースにあまり注意を払わなかったことは奇妙であるSource: https://habr.com/ru/post/J103938/
All Articles