Bug 1311438 - (CVE-2016-2513) CVE-2016-2513 python-django: User enumeration through timing difference on password hasher work factor upgrade
CVE-2016-2513 python-django: User enumeration through timing difference on pa...
Status: CLOSED ERRATA
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20160301,repor...
: Security
Depends On: 1314827 1314828 1314830 1314831 1314832 1315210 1315212 1315214 1315215 1315216 1315219 1315220
Blocks: 1311442
  Show dependency treegraph
 
Reported: 2016-02-24 04:25 EST by Adam Mariš
Modified: 2016-04-26 23:55 EDT (History)
24 users (show)

See Also:
Fixed In Version: python-django 1.8.10, python-django 1.9.3
Doc Type: Bug Fix
Doc Text:
A timing attack flaw was found in the way Django's PBKDF2PasswordHasher performed password hashing. Passwords hashed with an older version of PBKDF2PasswordHasher used less hashing iterations, and thus allowed an attacker to enumerate existing users based on the time differences in the login requests.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-08 01:48:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Upstream patch 1.8.x (14.43 KB, patch)
2016-02-24 04:28 EST, Adam Mariš
no flags Details | Diff
Upstream patch 1.9.x (16.79 KB, patch)
2016-02-24 04:29 EST, Adam Mariš
no flags Details | Diff
Upstream patch master (16.63 KB, patch)
2016-02-24 04:30 EST, Adam Mariš
no flags Details | Diff

  None (edit)
Description Adam Mariš 2016-02-24 04:25:17 EST
A timing difference between login requests of nonexistent users and users who haven't logged in for a certain time was found.

In each major version of Django since 1.6, the default number of iterations for the ``PBKDF2PasswordHasher`` and its subclasses has increased. Passwords of user who haven't logged in since the iterations were increased, are encoded in an older number of iterations, which creates the timing difference between login requests. The first time a user logs in after an iterations increase, their password is updated with the new iterations and there is no longer a timing difference.

However, if there are different password hashes in the database (such as SHA1 hashes from users who haven't logged in since the default hasher switched to PBKDF2 in Django 1.4), the timing difference on a login request for these users may be even greater and this fix doesn't remedy that difference (or any difference when changing hashers).
Comment 1 Adam Mariš 2016-02-24 04:28 EST
Created attachment 1130107 [details]
Upstream patch 1.8.x
Comment 2 Adam Mariš 2016-02-24 04:29 EST
Created attachment 1130109 [details]
Upstream patch 1.9.x
Comment 3 Adam Mariš 2016-02-24 04:30 EST
Created attachment 1130111 [details]
Upstream patch master
Comment 5 Adam Mariš 2016-03-03 07:34:43 EST
External Reference:

https://www.djangoproject.com/weblog/2016/mar/01/security-releases/
Comment 7 Adam Mariš 2016-03-04 11:08:12 EST
Created Django14 tracking bugs for this issue:

Affects: epel-6 [bug 1314830]
Comment 8 Adam Mariš 2016-03-04 11:08:24 EST
Created python-django15 tracking bugs for this issue:

Affects: epel-6 [bug 1314831]
Comment 9 Adam Mariš 2016-03-04 11:08:36 EST
Created python-django tracking bugs for this issue:

Affects: fedora-all [bug 1314828]
Affects: epel-7 [bug 1314832]
Comment 12 Summer Long 2016-03-08 00:41:53 EST
Acknowledgments:

Name: the Django project
Comment 13 Fedora Update System 2016-03-17 16:52:45 EDT
python-django-1.8.11-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Comment 14 Fedora Update System 2016-03-17 17:20:35 EDT
python-django-1.8.11-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Comment 15 errata-xmlrpc 2016-03-23 21:10:52 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux OpenStack Platform 5.0 (Icehouse) for RHEL 7

Via RHSA-2016:0506 https://rhn.redhat.com/errata/RHSA-2016-0506.html
Comment 16 errata-xmlrpc 2016-03-23 21:11:37 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) for RHEL 7

Via RHSA-2016:0505 https://rhn.redhat.com/errata/RHSA-2016-0505.html
Comment 17 errata-xmlrpc 2016-03-23 21:12:27 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) for RHEL 7

Via RHSA-2016:0504 https://rhn.redhat.com/errata/RHSA-2016-0504.html
Comment 18 errata-xmlrpc 2016-03-23 21:13:13 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux OpenStack Platform 7.0 Operational Tools for RHEL 7

Via RHSA-2016:0503 https://rhn.redhat.com/errata/RHSA-2016-0503.html
Comment 19 errata-xmlrpc 2016-03-23 21:13:58 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux OpenStack Platform 5.0 (Icehouse) for RHEL 6

Via RHSA-2016:0502 https://rhn.redhat.com/errata/RHSA-2016-0502.html

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