Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1389417 - (CVE-2016-9014) CVE-2016-9014 python-django: DNS rebinding vulnerability when 'DEBUG=True'
CVE-2016-9014 python-django: DNS rebinding vulnerability when 'DEBUG=True'
Status: NEW
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
low Severity low
: ---
: ---
Assigned To: Red Hat Product Security
impact=low,public=20161101,reported=2...
: Security
Depends On: 1390684 1390685 1390687
Blocks: 1389419
  Show dependency treegraph
 
Reported: 2016-10-27 10:31 EDT by Martin Prpič
Modified: 2018-06-29 18:15 EDT (History)
22 users (show)

See Also:
Fixed In Version: Django 1.10.3, Django 1.9.11, Django 1.8.16
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
host-validation-1.10.x.diff (9.17 KB, text/plain)
2016-10-27 10:34 EDT, Martin Prpič
no flags Details
host-validation-1.8.x.diff (5.45 KB, text/plain)
2016-10-27 10:34 EDT, Martin Prpič
no flags Details
host-validation-1.9.x.diff (7.04 KB, text/plain)
2016-10-27 10:34 EDT, Martin Prpič
no flags Details
host-validation-master.diff (9.24 KB, text/plain)
2016-10-27 10:35 EDT, Martin Prpič
no flags Details

  None (edit)
Description Martin Prpič 2016-10-27 10:31:01 EDT
The following flaw was reported in Django:

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:

http://benmmurphy.github.io/blog/2016/07/11/rails-webconsole-dns-rebinding/

While Django doesn't ship a module that allows remote code execution, this is at least a cross-site scripting vector, which could be quite serious if developers load a copy of the production database in development or connect to some production services for which there's no development instance, for example. If a project uses a package like the 'django-debug-toolbar', then the attacker could execute arbitrary SQL, which could be especially bad if the developers connect to the database with a superuser account.

'settings.ALLOWED_HOSTS' is now validated regardless of 'DEBUG'. For convenience, if 'ALLOWED_HOSTS' is empty and 'DEBUG=True', the following variations of localhost are allowed '['localhost', '127.0.0.1', '::1']'. If your local settings file has your production 'ALLOWED_HOSTS' value, you must now omit it to get those fallback values.
Comment 1 Martin Prpič 2016-10-27 10:31:20 EDT
Acknowledgments:

Name: the Django project
Comment 2 Martin Prpič 2016-10-27 10:34:43 EDT
Created attachment 1214627 [details]
host-validation-1.10.x.diff
Comment 3 Martin Prpič 2016-10-27 10:34:50 EDT
Created attachment 1214628 [details]
host-validation-1.8.x.diff
Comment 4 Martin Prpič 2016-10-27 10:34:57 EDT
Created attachment 1214629 [details]
host-validation-1.9.x.diff
Comment 5 Martin Prpič 2016-10-27 10:35:04 EDT
Created attachment 1214630 [details]
host-validation-master.diff
Comment 6 Andrej Nemec 2016-11-01 12:33:37 EDT
Public via:

https://www.djangoproject.com/weblog/2016/nov/01/security-releases/
Comment 7 Andrej Nemec 2016-11-01 12:36:22 EDT
Created Django14 tracking bugs for this issue:

Affects: epel-6 [bug 1390685]
Comment 8 Andrej Nemec 2016-11-01 12:36:37 EDT
Created python-django tracking bugs for this issue:

Affects: fedora-all [bug 1390684]
Comment 9 Andrej Nemec 2016-11-01 12:37:44 EDT
Created python-django tracking bugs for this issue:

Affects: epel-7 [bug 1390687]

Note You need to log in before you can comment on or make changes to this bug.