CVE-2016-9014
Django DNS Rebinding Vulnerability
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.1
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
CVE-2016-9014- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-264
- Updated
- 2026-11-02
CVE List No score
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
CVE-2016-9014- Updated
- 2026-11-02
EUVDEUVD-2016-0007 No score
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
EUVD-2016-0007- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-3f2c-jm6v-cr35
9.2
Django DNS Rebinding Vulnerability
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
GHSA-3f2c-jm6v-cr35- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVALPINE-CVE-2016-9014
8.1
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
ALPINE-CVE-2016-9014- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
8.1
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
CVE-2016-9014- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2016-9014
8.1
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
DEBIAN-CVE-2016-9014- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-3f2c-jm6v-cr35
9.2
Django DNS Rebinding Vulnerability
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
GHSA-3f2c-jm6v-cr35- CVSS 4.0
- 9.2 Critical
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-9014
8.1
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
UBUNTU-CVE-2016-9014- CVSS 3.0
- 8.1 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2016-0368 No score
Updated python-django packages fix security vulnerabilities
User with hardcoded password created when running tests on Oracle When running tests with an Oracle database, Django creates a temporary database user. In older versions, if a password isn't manually specified in the database settings TEST dictionary, a hardcoded password is used. This could allow an attacker with network access to the database server to connect. (CVE-2016-9013)
DNS rebinding vulnerability when DEBUG=True Older versions of Django don't validate the Host header against settings.ALLOWED_HOSTS when settings.DEBUG=True. This makes them vulnerable to a DNS rebinding attack. (CVE-2016-9014)
- Record
MGASA-2016-0368- Updated
- 2026-11-02
OSVPYSEC-2016-18 No score
Django before 1.8.x before 1.8.16, 1.9.x before 1.9.11, and 1.10.x before 1.10.3, when settings.DEBUG is True, allow remote attackers to conduct DNS rebinding attacks by leveraging failure to validate the HTTP Host header against settings.ALLOWED_HOSTS.
- Record
PYSEC-2016-18- Updated
- 2026-11-02
OSVSUSE-SU-2018:0973-1 No score
Security update for python-Django
This update for python-Django fixes the following issues:
Security issues fixed:
- CVE-2018-7537: Fixed catastrophic backtracking in django.utils.text.Truncator. (bsc#1083305)
- CVE-2018-7536: Fixed catastrophic backtracking in urlize and urlizetrunc template filters. (bsc#1083304)
- CVE-2017-12794: Fixed XSS possibility in traceback section of technical 500 debug page (bsc#1056284)
- CVE-2017-7234: Open redirect vulnerability in django.views.static.serve() (bsc#1031451)
- CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs (bsc#1031450)
- CVE-2016-9014: DNS rebinding vulnerability when DEBUG=True (bsc#1008047)
- CVE-2016-9013: User with hardcoded password created when running tests on Oracle (bsc#1008050)
- CVE-2016-7401: CSRF protection bypass on a site with Google Analytics (bsc#1001374)
- Record
SUSE-SU-2018:0973-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:1102-1 No score
Security update for python-Django
This update for python-Django fixes the following issues:
Security issues fixed:
- CVE-2018-7537: Fixed catastrophic backtracking in django.utils.text.Truncator. (bsc#1083305)
- CVE-2018-7536: Fixed catastrophic backtracking in urlize and urlizetrunc template filters. (bsc#1083304)
- CVE-2017-12794: Fixed XSS possibility in traceback section of technical 500 debug page (bsc#1056284)
- CVE-2017-7234: Open redirect vulnerability in django.views.static.serve() (bsc#1031451)
- CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs (bsc#1031450)
- CVE-2016-9014: DNS rebinding vulnerability when DEBUG=True (bsc#1008047)
- CVE-2016-9013: User with hardcoded password created when running tests on Oracle (bsc#1008050)
- CVE-2016-7401: CSRF protection bypass on a site with Google Analytics (bsc#1001374)
- CVE-2016-2512: Vulnerability in the function tils.http.is_safe_url could allow remote users to arbitrary web site and conduct phishing attacks. (bsc#bnc#967999)
- Record
SUSE-SU-2018:1102-1- Updated
- 2026-11-02
OSVUSN-3115-1 No score
python-django vulnerabilities
Marti Raudsepp discovered that Django incorrectly used a hardcoded password when running tests on an Oracle database. A remote attacker could possibly connect to the database while the tests are running and prevent the test user with the hardcoded password from being removed. (CVE-2016-9013)
Aymeric Augustin discovered that Django incorrectly validated hosts when being run with the debug setting enabled. A remote attacker could possibly use this issue to perform DNS rebinding attacks. (CVE-2016-9014)
- Record
USN-3115-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
1.8a1 up to 1.8.16 | 1.8.16 |
djangoPyPI |
1.9a1 up to 1.9.11 | 1.9.11 |
djangoPyPI |
1.10a1 up to 1.10.3 | 1.10.3 |
py-djangoAlpine:v3.10 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.2 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.3 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.4 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.5 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.6 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.7 |
before 1.8.16-r0 | 1.8.16-r0 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
py-djangoAlpine:v3.8 |
before 1.8.16-r0 | 1.8.16-r0 |
py-djangoAlpine:v3.9 |
before 1.8.16-r0 | 1.8.16-r0 |
py3-djangoAlpine:v3.11 |
before 1.8.16-r0 | 1.8.16-r0 |
py3-djangoAlpine:v3.12 |
before 1.8.16-r0 | 1.8.16-r0 |
python-djangoDebian:12 |
before 1:1.10.3-1 | 1:1.10.3-1 |
python-djangoDebian:13 |
before 1:1.10.3-1 | 1:1.10.3-1 |
python-djangoDebian:14 |
before 1:1.10.3-1 | 1:1.10.3-1 |
python-djangoDebian:7 |
before 1.4.22-1+deb7u2, plus listed versions 1.4.22-11.4.22-1+deb7u11.4.5-11.4.5-1+deb7u11.4.5-1+deb7u10 Show 21 moreShow less1.4.5-1+deb7u111.4.5-1+deb7u11~bpo60+11.4.5-1+deb7u121.4.5-1+deb7u131.4.5-1+deb7u13~bpo60+11.4.5-1+deb7u141.4.5-1+deb7u14~bpo60+11.4.5-1+deb7u151.4.5-1+deb7u161.4.5-1+deb7u171.4.5-1+deb7u21.4.5-1+deb7u31.4.5-1+deb7u41.4.5-1+deb7u4~bpo60+11.4.5-1+deb7u51.4.5-1+deb7u61.4.5-1+deb7u71.4.5-1+deb7u7~bpo60+11.4.5-1+deb7u81.4.5-1+deb7u8~bpo60+11.4.5-1+deb7u9 |
1.4.22-1+deb7u2 |
python-djangoDebian:8 From an advisory covering 4 CVEs |
before 1.7.11-1+deb8u2, plus listed versions 1.7.10-11.7.11-11.7.11-1+deb8u11.7.7-11.7.7-1+deb8u1 Show 5 moreShow less1.7.7-1+deb8u21.7.7-1+deb8u31.7.7-1+deb8u41.7.7-1+deb8u51.7.9-1 |
1.7.11-1+deb8u2 |
djangoPyPI |
1.8a1 up to 1.8.16, plus listed versions 1.81.8.11.8.101.8.111.8.12 Show 14 moreShow less1.8.131.8.141.8.151.8.21.8.31.8.41.8.51.8.61.8.71.8.81.8.91.8b11.8b21.8c1 |
1.8.16 |
djangoPyPI |
1.9a1 up to 1.9.11, plus listed versions 1.91.9.11.9.101.9.21.9.3 Show 9 moreShow less1.9.41.9.51.9.61.9.71.9.81.9.91.9b11.9rc11.9rc2 |
1.9.11 |
djangoPyPI |
1.10a1 up to 1.10.3, plus listed versions 1.101.10.11.10.21.10b11.10rc1 |
1.10.3 |
python-djangoMageia:5 From an advisory covering 2 CVEs |
before 1.8.16-1.mga5 | 1.8.16-1.mga5 |
djangoPyPI |
before 1.8.16, 1.9 up to 1.9.11, 1.10 up to 1.10.3, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 45 moreShow less1.1.11.1.21.1.31.1.41.10.11.10.21.21.2.11.2.21.2.31.2.41.2.51.2.61.2.71.31.3.11.3.21.3.31.3.41.3.51.3.61.3.71.41.4.11.4.101.4.111.4.121.4.131.4.141.4.151.4.161.4.171.4.181.4.191.4.21.4.201.4.211.4.221.4.31.4.41.4.51.4.61.4.71.4.81.4.9 |
1.8.161.9.111.10.3 |
python-DjangoSUSE:OpenStack Cloud 7 From an advisory covering 8 CVEs |
before 1.8.19-3.4.1 | 1.8.19-3.4.1 |
python-DjangoSUSE:OpenStack Cloud 6 From an advisory covering 9 CVEs |
before 1.8.19-3.6.1 | 1.8.19-3.6.1 |
python-djangoUbuntu:14.04:LTS |
before 1.6.1-2ubuntu0.16, plus listed versions 1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1 Show 13 moreShow less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.15 |
1.6.1-2ubuntu0.16 |
python-djangoUbuntu:16.04:LTS |
before 1.8.7-1ubuntu5.4, plus listed versions 1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3 Show 4 moreShow less1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.2 |
1.8.7-1ubuntu5.4 |
python-djangoUbuntu:14.04:LTS From an advisory covering 2 CVEs |
before 1.6.1-2ubuntu0.16, plus listed versions 1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1 Show 13 moreShow less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.15 |
1.6.1-2ubuntu0.16 |
python-djangoUbuntu:16.04:LTS From an advisory covering 2 CVEs |
before 1.8.7-1ubuntu5.4, plus listed versions 1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3 Show 4 moreShow less1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.2 |
1.8.7-1ubuntu5.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2016-9014 is a high vulnerability (CVSS 8.1) in Djangoproject Django, published November 1, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 6.07%, the 93rd percentile. Fixed in django 1.8.16.
References
djangoproject.com/weblog/2016/nov/01/security-releases
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QXDKJYHN74BWY3P7AR2UZDVJREQMRE6S
securityfocus.com/bid/94068
debian.org/security/2017/dsa-3835
ubuntu.com/usn/USN-3115-1
securitytracker.com/id/1037159
Show 41 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/OG5ROMUPS6C7BXELD3TAUUH7OBYV56WQ
nvd.nist.gov/vuln/detail/CVE-2016-9014
web.archive.org/web/20210123185619/http://www.securityfocus.com/bid/94068
web.archive.org/web/20211204043252/http://www.securitytracker.com/id/1037159
github.com/django/django/commit/45acd6d836895a4c36575f48b3fb36a3dae98d19
github.com/django/django/commit/884e113838e5a72b4b0ec9e5e87aa480f6aa4472
github.com/django/django/commit/c401ae9a7dfb1a94a8a61927ed541d6f93089587
lists.fedoraproject.org/archives/list/[email protected]/message/OG5ROMUPS6C7BXELD3TAUUH7OBYV56WQ
lists.fedoraproject.org/archives/list/[email protected]/message/QXDKJYHN74BWY3P7AR2UZDVJREQMRE6S
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2016-18.yaml
github.com/advisories/GHSA-3f2c-jm6v-cr35
security.alpinelinux.org/vuln/CVE-2016-9014
security-tracker.debian.org/tracker/CVE-2016-9014
github.com/django/django
advisories.mageia.org/MGASA-2016-0368.html
bugs.mageia.org/show_bug.cgi?id=19690
ubuntu.com/usn/usn-3115-1
suse.com/support/update/announcement/2018/suse-su-20180973-1
bugzilla.suse.com/1001374
bugzilla.suse.com/1008047
bugzilla.suse.com/1008050
bugzilla.suse.com/1031450
bugzilla.suse.com/1031451
bugzilla.suse.com/1056284
bugzilla.suse.com/1083304
bugzilla.suse.com/1083305
suse.com/security/cve/CVE-2016-7401
suse.com/security/cve/CVE-2016-9013
suse.com/security/cve/CVE-2016-9014
suse.com/security/cve/CVE-2017-12794
suse.com/security/cve/CVE-2017-7233
suse.com/security/cve/CVE-2017-7234
suse.com/security/cve/CVE-2018-7536
suse.com/security/cve/CVE-2018-7537
suse.com/support/update/announcement/2018/suse-su-20181102-1
bugzilla.suse.com/967999
suse.com/security/cve/CVE-2016-2512
ubuntu.com/security/CVE-2016-9014
ubuntu.com/security/notices/USN-3115-1
cve.org/CVERecord?id=CVE-2016-9014
ubuntu.com/security/CVE-2016-9013
Left out here: 67 versions. The JSON record has them.