First published: Thu Sep 09 2010(Updated: )
As of the 1.2 release, the core Django framework includes a system, enabled by default, for detecting and preventing cross-site request forgery (CSRF) attacks against Django-powered applications. Previous Django releases provided a different, optionally-enabled system for the same purpose. The Django 1.2 CSRF protection system involves the generation of a random token, inserted as a hidden field in outgoing forms. The same value is also set in a cookie, and the cookie value and form value are compared on submission. The provided template tag for inserting the CSRF token into forms -- {% csrf_token %} -- explicitly trusts the cookie value, and displays it as-is. Thus, an attacker who is able to tamper with the value of the CSRF cookie can cause arbitrary content to be inserted, unescaped, into the outgoing HTML of the form, enabling cross-site scripting (XSS) attacks. This issue was first reported via a public ticket in Django's Trac instance; while being triaged it was then independently reported, with broader description, by Jeff Balogh of Mozilla. <a href="http://www.djangoproject.com/weblog/2010/sep/08/security-release/">http://www.djangoproject.com/weblog/2010/sep/08/security-release/</a>
Affected Software | Affected Version | How to fix |
---|---|---|
Django | >1.2 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-632239 is considered high due to the potential for cross-site request forgery (CSRF) attacks against vulnerable Django applications.
To fix REDHAT-BUG-632239, upgrade to the most recent version of Django that includes enhanced CSRF protection features.
REDHAT-BUG-632239 affects all versions of Django prior to 1.2.
Cross-site request forgery (CSRF) is a type of attack that tricks the user into executing unwanted actions on a different site where they are authenticated.
Yes, CSRF protection is enabled by default in Django version 1.2 and later, addressing the vulnerability described in REDHAT-BUG-632239.