Archive of security issuesLink to this heading

Django’s development team is strongly committed to responsible reporting and disclosure of security-related issues, as outlined in 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 processLink to this heading

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-0404Link to this heading

Filename validation issue in translation framework. Full description

Versions affectedLink to this heading

January 21, 2007 - CVE 2007-0405Link to this heading

Apparent “caching” of authenticated user. Full description

Versions affectedLink to this heading

Issues under Django’s security processLink to this heading

All other security issues have been handled under versions of Django’s security process. These are listed below.

October 26, 2007 - CVE 2007-5712Link to this heading

Denial-of-service via arbitrarily-large Accept-Language header. Full description

Versions affectedLink to this heading

May 14, 2008 - CVE 2008-2302Link to this heading

XSS via admin login redirect. Full description

Versions affectedLink to this heading

September 2, 2008 - CVE 2008-3909Link to this heading

CSRF via preservation of POST data during admin login. Full description

Versions affectedLink to this heading

July 28, 2009 - CVE 2009-2659Link to this heading

Directory-traversal in development server media handler. Full description

Versions affectedLink to this heading

October 9, 2009 - CVE 2009-3965Link to this heading

Denial-of-service via pathological regular expression performance. Full description

Versions affectedLink to this heading

September 8, 2010 - CVE 2010-3082Link to this heading

XSS via trusting unsafe cookie value. Full description

Versions affectedLink to this heading

December 22, 2010 - CVE 2010-4534Link to this heading

Information leakage in administrative interface. Full description

Versions affectedLink to this heading

December 22, 2010 - CVE 2010-4535Link to this heading

Denial-of-service in password-reset mechanism. Full description

Versions affectedLink to this heading

February 8, 2011 - CVE 2011-0696Link to this heading

CSRF via forged HTTP headers. Full description

Versions affectedLink to this heading

February 8, 2011 - CVE 2011-0697Link to this heading

XSS via unsanitized names of uploaded files. Full description

Versions affectedLink to this heading

February 8, 2011 - CVE 2011-0698Link to this heading

Directory-traversal on Windows via incorrect path-separator handling. Full description

Versions affectedLink to this heading

September 9, 2011 - CVE 2011-4136Link to this heading

Session manipulation when using memory-cache-backed session. Full description

Versions affectedLink to this heading

September 9, 2011 - CVE 2011-4137Link to this heading

Denial-of-service via URLField.verify_exists. Full description

Versions affectedLink to this heading

September 9, 2011 - CVE 2011-4138Link to this heading

Information leakage/arbitrary request issuance via URLField.verify_exists. Full description

Versions affectedLink to this heading

September 9, 2011 - CVE 2011-4139Link to this heading

Host header cache poisoning. Full description

Versions affectedLink to this heading

September 9, 2011 - CVE 2011-4140Link to this heading

Potential CSRF via Host header. Full description

Versions affectedLink to this heading

This notification was an advisory only, so no patches were issued.

  • Django 1.2

  • Django 1.3

July 30, 2012 - CVE 2012-3442Link to this heading

XSS via failure to validate redirect scheme. Full description

Versions affectedLink to this heading

July 30, 2012 - CVE 2012-3443Link to this heading

Denial-of-service via compressed image files. Full description

Versions affectedLink to this heading

July 30, 2012 - CVE 2012-3444Link to this heading

Denial-of-service via large image files. Full description

Versions affectedLink to this heading

October 17, 2012 - CVE 2012-4520Link to this heading

Host header poisoning. Full description

Versions affectedLink to this heading

December 10, 2012 - No CVE 1Link to this heading

Additional hardening of Host header handling. Full description

Versions affectedLink to this heading

December 10, 2012 - No CVE 2Link to this heading

Additional hardening of redirect validation. Full description

Versions affectedLink to this heading

February 19, 2013 - No CVELink to this heading

Additional hardening of Host header handling. Full description

Versions affectedLink to this heading

February 19, 2013 - CVE 2013-1664 / CVE 2013-1665Link to this heading

Entity-based attacks against Python XML libraries. Full description

Versions affectedLink to this heading

February 19, 2013 - CVE 2013-0305Link to this heading

Information leakage via admin history log. Full description

Versions affectedLink to this heading

February 19, 2013 - CVE 2013-0306Link to this heading

Denial-of-service via formset max_num bypass. Full description

Versions affectedLink to this heading

August 13, 2013 - CVE 2013-4249Link to this heading

XSS via admin trusting URLField values. Full description

Versions affectedLink to this heading

August 13, 2013 - CVE 2013-6044Link to this heading

Possible XSS via unvalidated URL redirect schemes. Full description

Versions affectedLink to this heading

September 10, 2013 - CVE 2013-4315Link to this heading

Directory-traversal via ssi template tag. Full description

Versions affectedLink to this heading

September 14, 2013 - CVE 2013-1443Link to this heading

Denial-of-service via large passwords. Full description

Versions affectedLink to this heading

April 21, 2014 - CVE 2014-0472Link to this heading

Unexpected code execution using reverse(). Full description

Versions affectedLink to this heading

April 21, 2014 - CVE 2014-0473Link to this heading

Caching of anonymous pages could reveal CSRF token. Full description

Versions affectedLink to this heading

April 21, 2014 - CVE 2014-0474Link to this heading

MySQL typecasting causes unexpected query results. Full description

Versions affectedLink to this heading

May 18, 2014 - CVE 2014-1418Link to this heading

Caches may be allowed to store and serve private data. Full description

Versions affectedLink to this heading

May 18, 2014 - CVE 2014-3730Link to this heading

Malformed URLs from user input incorrectly validated. Full description

Versions affectedLink to this heading

August 20, 2014 - CVE 2014-0480Link to this heading

reverse() can generate URLs pointing to other hosts. Full description

Versions affectedLink to this heading

August 20, 2014 - CVE 2014-0481Link to this heading

File upload denial of service. Full description

Versions affectedLink to this heading

August 20, 2014 - CVE 2014-0482Link to this heading

RemoteUserMiddleware session hijacking. Full description

Versions affectedLink to this heading

August 20, 2014 - CVE 2014-0483Link to this heading

Data leakage via querystring manipulation in admin. Full description

Versions affectedLink to this heading

January 13, 2015 - CVE 2015-0219Link to this heading

WSGI header spoofing via underscore/dash conflation. Full description

Versions affectedLink to this heading

January 13, 2015 - CVE 2015-0220Link to this heading

Mitigated possible XSS attack via user-supplied redirect URLs. Full description

Versions affectedLink to this heading

January 13, 2015 - CVE 2015-0221Link to this heading

Denial-of-service attack against django.views.static.serve(). Full description

Versions affectedLink to this heading

January 13, 2015 - CVE 2015-0222Link to this heading

Database denial-of-service with ModelMultipleChoiceField. Full description

Versions affectedLink to this heading

March 9, 2015 - CVE 2015-2241Link to this heading

XSS attack via properties in ModelAdmin.readonly_fields. Full description

Versions affectedLink to this heading

March 18, 2015 - CVE 2015-2316Link to this heading

Denial-of-service possibility with strip_tags(). Full description

Versions affectedLink to this heading

March 18, 2015 - CVE 2015-2317Link to this heading

Mitigated possible XSS attack via user-supplied redirect URLs. Full description

Versions affectedLink to this heading

May 20, 2015 - CVE 2015-3982Link to this heading

Fixed session flushing in the cached_db backend. Full description

Versions affectedLink to this heading

July 8, 2015 - CVE 2015-5143Link to this heading

Denial-of-service possibility by filling session store. Full description

Versions affectedLink to this heading

July 8, 2015 - CVE 2015-5144Link to this heading

Header injection possibility since validators accept newlines in input. Full description

Versions affectedLink to this heading

July 8, 2015 - CVE 2015-5145Link to this heading

Denial-of-service possibility in URL validation. Full description

Versions affectedLink to this heading

August 18, 2015 - CVE 2015-5963 / CVE 2015-5964Link to this heading

Denial-of-service possibility in logout() view by filling session store. Full description

Versions affectedLink to this heading

November 24, 2015 - CVE 2015-8213Link to this heading

Settings leak possibility in date template filter. Full description

Versions affectedLink to this heading

February 1, 2016 - CVE 2016-2048Link to this heading

User with “change” but not “add” permission can create objects for ModelAdmin’s with save_as=True. Full description

Versions affectedLink to this heading

March 1, 2016 - CVE 2016-2512Link to this heading

Malicious redirect and possible XSS attack via user-supplied redirect URLs containing basic auth. Full description

Versions affectedLink to this heading

March 1, 2016 - CVE 2016-2513Link to this heading

User enumeration through timing difference on password hasher work factor upgrade. Full description

Versions affectedLink to this heading

July 18, 2016 - CVE 2016-6186Link to this heading

XSS in admin’s add/change related popup. Full description

Versions affectedLink to this heading

September 26, 2016 - CVE 2016-7401Link to this heading

CSRF protection bypass on a site with Google Analytics. Full description

Versions affectedLink to this heading

November 1, 2016 - CVE 2016-9013Link to this heading

User with hardcoded password created when running tests on Oracle. Full description

Versions affectedLink to this heading

November 1, 2016 - CVE 2016-9014Link to this heading

DNS rebinding vulnerability when DEBUG=True. Full description

Versions affectedLink to this heading

April 4, 2017 - CVE 2017-7233Link to this heading

Open redirect and possible XSS attack via user-supplied numeric redirect URLs. Full description

Versions affectedLink to this heading

April 4, 2017 - CVE 2017-7234Link to this heading

Open redirect vulnerability in django.views.static.serve(). Full description

Versions affectedLink to this heading

September 5, 2017 - CVE 2017-12794Link to this heading

Possible XSS in traceback section of technical 500 debug page. Full description

Versions affectedLink to this heading

February 1, 2018 - CVE 2018-6188Link to this heading

Information leakage in AuthenticationForm. Full description

Versions affectedLink to this heading

March 6, 2018 - CVE 2018-7536Link to this heading

Denial-of-service possibility in urlize and urlizetrunc template filters. Full description

Versions affectedLink to this heading

March 6, 2018 - CVE 2018-7537Link to this heading

Denial-of-service possibility in truncatechars_html and truncatewords_html template filters. Full description

Versions affectedLink to this heading

August 1, 2018 - CVE 2018-14574Link to this heading

Open redirect possibility in CommonMiddleware. Full description

Versions affectedLink to this heading

October 1, 2018 - CVE 2018-16984Link to this heading

Password hash disclosure to “view only” admin users. Full description

Versions affectedLink to this heading

January 4, 2019 - CVE 2019-3498Link to this heading

Content spoofing possibility in the default 404 page. Full description

Versions affectedLink to this heading

February 11, 2019 - CVE 2019-6975Link to this heading

Memory exhaustion in django.utils.numberformat.format(). Full description

Versions affectedLink to this heading

June 3, 2019 - CVE 2019-11358Link to this heading

Prototype pollution in bundled jQuery. Full description

Versions affectedLink to this heading

June 3, 2019 - CVE 2019-12308Link to this heading

XSS via “Current URL” link generated by AdminURLFieldWidget. Full description

Versions affectedLink to this heading

July 1, 2019 - CVE 2019-12781Link to this heading

Incorrect HTTP detection with reverse-proxy connecting via HTTPS. Full description

Versions affectedLink to this heading

August 1, 2019 - CVE 2019-14232Link to this heading

Denial-of-service possibility in django.utils.text.Truncator. Full description

Versions affectedLink to this heading

August 1, 2019 - CVE 2019-14233Link to this heading

Denial-of-service possibility in strip_tags(). Full description

Versions affectedLink to this heading

August 1, 2019 - CVE 2019-14234Link to this heading

SQL injection possibility in key and index lookups for JSONField/HStoreField. Full description

Versions affectedLink to this heading

August 1, 2019 - CVE 2019-14235Link to this heading

Potential memory exhaustion in django.utils.encoding.uri_to_iri(). Full description

Versions affectedLink to this heading