From 75c0aa43d33d1a6e1aad306ea144226843b1edab Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 19 Sep 2013 15:07:29 +0800 Subject: [PATCH] [1.5.x] Fixed #21121: Added archive of security issues. Backport of 9d3e60a, 8e134c2, 8b3bae9, c65ae7c, bbabc53, and a2e25e8 from master. --- docs/index.txt | 1 + docs/internals/security.txt | 6 + docs/releases/index.txt | 11 + docs/releases/security.txt | 450 ++++++++++++++++++++++++++++++++++++ 4 files changed, 468 insertions(+) create mode 100644 docs/releases/security.txt diff --git a/docs/index.txt b/docs/index.txt index b1686c69a7..bc2197de22 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -212,6 +212,7 @@ Security is a topic of paramount importance in the development of Web applications and Django provides multiple protection tools and mechanisms: * :doc:`Security overview ` +* :doc:`Disclosed security issues in Django ` * :doc:`Clickjacking protection ` * :doc:`Cross Site Request Forgery protection ` * :doc:`Cryptographic signing ` diff --git a/docs/internals/security.txt b/docs/internals/security.txt index 96e1141066..f8d6ffbb1b 100644 --- a/docs/internals/security.txt +++ b/docs/internals/security.txt @@ -1,3 +1,5 @@ +.. _internals-security: + ========================== Django's security policies ========================== @@ -124,6 +126,10 @@ may privately contact and discuss those issues with the appropriate maintainers, and coordinate our own disclosure and resolution with theirs. +The Django team also maintains an :doc:`archive of security issues +disclosed in Django`. + + .. _security-notifications: Who receives advance notification diff --git a/docs/releases/index.txt b/docs/releases/index.txt index 73838afc80..7b117f384c 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -98,6 +98,16 @@ Pre-1.0 releases 0.96 0.95 +Security releases +================= + +Whenever a security issue is disclosed via :doc:`Django's security +policies `, appropriate release notes are now +added to all affected release series. + +Additionally, :doc:`an archive of disclosed security issues +` is maintained. + Development releases ==================== @@ -108,6 +118,7 @@ notes. .. toctree:: :maxdepth: 1 + security 1.5-beta-1 1.5-alpha-1 1.4-beta-1 diff --git a/docs/releases/security.txt b/docs/releases/security.txt new file mode 100644 index 0000000000..474eeee26d --- /dev/null +++ b/docs/releases/security.txt @@ -0,0 +1,450 @@ +.. _security-releases: + +========================== +Archive of security issues +========================== + +Django's development team is strongly committed to responsible +reporting and disclosure of security-related issues, as outlined in +:doc:`Django's security policies `. + +As part of that commitment, we maintain the following historical list +of issues which have been fixed and disclosed. For each issue, the +list below includes the date, a brief description, the `CVE identifier +`_ +if applicable, a list of affected versions, a link to the full +disclosure and links to the appropriate patch(es). + +Some important caveats apply to this information: + +* Lists of affected versions include only those versions of Django + which had stable, security-supported releases at the time of + disclosure. This means older versions (whose security support had + expired) and versions which were in pre-release (alpha/beta/RC) + states at the time of disclosure may have been affected, but are not + listed. + +* The Django project has on occasion issued security advisories, + pointing out potential security problems which can arise from + improper configuration or from other issues outside of Django + itself. Some of these advisories have received CVEs; when that is + the case, they are listed here, but as they have no accompanying + patches or releases, only the description, disclosure and CVE will + be listed. + + +Issues prior to Django's security process +========================================= + +Some security issues were handled before Django had a formalized +security process in use. For these, new releases may not have been +issued at the time and CVEs may not have been assigned. + + +August 16, 2006 - CVE-2007-0404 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2007-0404 `_: Filename validation issue in translation framework. `Full description `__ + +Versions affected +----------------- + +* Django 0.90 `(patch) `__ + +* Django 0.91 `(patch) `__ + +* Django 0.95 `(patch) `__ (released January 21 2007) + +January 21, 2007 - CVE-2007-0405 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2007-0405 `_: Apparent "caching" of authenticated user. `Full description `__ + +Versions affected +----------------- + +* Django 0.95 `(patch) `__ + +Issues under Django's security process +====================================== + +All other security issues have been handled under versions of Django's +security process. These are listed below. + +October 26, 2007 - CVE-2007-5712 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2007-5712 `_: Denial-of-service via arbitrarily-large ``Accept-Language`` header. `Full description `__ + +Versions affected +----------------- + +* Django 0.91 `(patch) `__ + +* Django 0.95 `(patch) `__ + +* Django 0.96 `(patch) `__ + + +May 14, 2008 - CVE-2008-2302 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2008-2302 `_: XSS via admin login redirect. `Full description `__ + +Versions affected +----------------- + +* Django 0.91 `(patch) `__ + +* Django 0.95 `(patch) `__ + +* Django 0.96 `(patch) `__ + + +September 2, 2008 - CVE-2008-3909 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2008-3909 `_: CSRF via preservation of POST data during admin login. `Full description `__ + +Versions affected +----------------- + +* Django 0.91 `(patch) `__ + +* Django 0.95 `(patch) `__ + +* Django 0.96 `(patch) `__ + +July 28, 2009 - CVE-2009-2659 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2009-2659 `_: Directory-traversal in development server media handler. `Full description `__ + +Versions affected +----------------- + +* Django 0.96 `(patch) `__ + +* Django 1.0 `(patch) `__ + +October 9, 2009 - CVE-2009-3965 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2009-3965 `_: Denial-of-service via pathological regular expression performance. `Full description `__ + +Versions affected +----------------- + +* Django 1.0 `(patch) `__ + +* Django 1.1 `(patch) `__ + +September 8, 2010 - CVE-2010-3082 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2010-3082 `_: XSS via trusting unsafe cookie value. `Full description `__ + +Versions affected +----------------- + +* Django 1.2 `(patch) `__ + + +December 22, 2010 - CVE-2010-4534 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2010-4534 `_: Information leakage in administrative interface. `Full description `__ + +Versions affected +----------------- + +* Django 1.1 `(patch) `__ + +* Django 1.2 `(patch) `__ + +December 22, 2010 - CVE-2010-4535 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2010-4535 `_: Denial-of-service in password-reset mechanism. `Full description `__ + +Versions affected +----------------- + +* Django 1.1 `(patch) `__ + +* Django 1.2 `(patch) `__ + + +February 8, 2011 - CVE-2011-0696 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-0696 `_: CSRF via forged HTTP headers. `Full description `__ + +Versions affected +----------------- + +* Django 1.1 `(patch) `__ + +* Django 1.2 `(patch) `__ + + +February 8, 2011 - CVE-2011-0697 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-0697 `_: XSS via unsanitized names of uploaded files. `Full description `__ + +Versions affected +----------------- + +* Django 1.1 `(patch) `__ + +* Django 1.2 `(patch) `__ + +February 8, 2011 - CVE-2011-0698 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-0698 `_: Directory-traversal on Windows via incorrect path-separator handling. `Full description `__ + +Versions affected +----------------- + +* Django 1.1 `(patch) `__ + +* Django 1.2 `(patch) `__ + + +September 9, 2011 - CVE-2011-4136 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-4136 `_: Session manipulation when using memory-cache-backed session. `Full description `__ + +Versions affected +----------------- + +* Django 1.2 `(patch) `__ + +* Django 1.3 `(patch) `__ + +September 9, 2011 - CVE-2011-4137 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-4137 `_: Denial-of-service via via ``URLField.verify_exists``. `Full description `__ + +Versions affected +----------------- + +* Django 1.2 `(patch) `__ + +* Django 1.3 `(patch) `__ + +September 9, 2011 - CVE-2011-4138 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-4138 `_: Information leakage/arbitrary request issuance via ``URLField.verify_exists``. `Full description `__ + +Versions affected +----------------- + +* Django 1.2: `(patch) `__ + +* Django 1.3: `(patch) `__ + +September 9, 2011 - CVE-2011-4139 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-4139 `_: ``Host`` header cache poisoning. `Full description `__ + +Versions affected +----------------- + +* Django 1.2 `(patch) `__ + +* Django 1.3 `(patch) `__ + +September 9, 2011 - CVE-2011-4140 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2011-4140 `_: Potential CSRF via ``Host`` header. `Full description `__ + +Versions affected +----------------- + +This notification was an advisory only, so no patches were issued. + +* Django 1.2 + +* Django 1.3 + + +July 30, 2012 - CVE-2012-3442 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2012-3442 `_: XSS via failure to validate redirect scheme. `Full description `__ + +Versions affected +----------------- + +* Django 1.3: `(patch) `__ + +* Django 1.4: `(patch) `__ + + +July 30, 2012 - CVE-2012-3443 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2012-3443 `_: Denial-of-service via compressed image files. `Full description `__ + +Versions affected +----------------- + +* Django 1.3: `(patch) `__ + +* Django 1.4: `(patch) `__ + + +July 30, 2012 - CVE-2012-3444 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2012-3444 `_: Denial-of-service via large image files. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + + +October 17, 2012 - CVE-2012-4520 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2012-4520 `_: ``Host`` header poisoning. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + + +December 10, 2012 - No CVE 1 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Additional hardening of ``Host`` header handling. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + + +December 10, 2012 - No CVE 2 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Additional hardening of redirect validation. `Full description `__ + +Versions affected +----------------- + + * Django 1.3: `(patch) `__ + + * Django 1.4: `(patch) `__ + +February 19, 2013 - No CVE +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Additional hardening of ``Host`` header handling. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + +February 19, 2013 - CVE-2013-1664/1665 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2013-1664 `_ and `CVE-2013-1665 `_: Entity-based attacks against Python XML libraries. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + +February 19, 2013 - CVE-2013-0305 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2013-0305 `_: Information leakage via admin history log. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + + +February 19, 2013 - CVE-2013-0306 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2013-0306 `_: Denial-of-service via formset ``max_num`` bypass. `Full description `__ + +Versions affected +----------------- + +* Django 1.3 `(patch) `__ + +* Django 1.4 `(patch) `__ + +August 13, 2013 - Awaiting CVE 1 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(CVE not yet issued): XSS via admin trusting ``URLField`` values. `Full description `__ + +Versions affected +----------------- + +* Django 1.5 `(patch) `__ + +August 13, 2013 - Awaiting CVE 2 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(CVE not yet issued): Possible XSS via unvalidated URL redirect schemes. `Full description `__ + +Versions affected +----------------- + +* Django 1.4 `(patch) `__ + +* Django 1.5 `(patch) `__ + +September 10, 2013 - CVE-2013-4315 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`CVE-2013-4315 `_ Directory-traversal via ``ssi`` template tag. `Full description `__ + +Versions affected +----------------- + +* Django 1.4 `(patch) `__ + +* Django 1.5 `(patch) `__ + + +September 14, 2013 - CVE-2013-1443 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +CVE-2013-1443: Denial-of-service via large passwords. `Full description `__ + +Versions affected +----------------- + +* Django 1.4 `(patch `__ and `Python compatibility fix) `__ + +* Django 1.5 `(patch) `__