oss-sec mailing list archives
Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth
From: Donald Stufft <donald () stufft io>
Date: Tue, 23 Jul 2013 23:21:33 -0400
On Jul 23, 2013, at 6:15 PM, Henri Salo <henri () nerv fi> wrote:
On Mon, Jul 22, 2013 at 05:04:44PM +0200, Salvatore Bonaccorso wrote:Hi Cc'ing security () djangoproject com From [1] in Django accounts can be enumerated trough timing attacks:When attempting to authenticate using django.contrib.auth, if a user does not exist the authenticate() function returns None nearly instantaneously, while when a user exists it takes much longer as the attempted password gets hashed and compared with the stored password. This allows for an attacker to infer whether or not a given account exists based upon the response time of an authentication attempt. This can be seen much more clearly when the number of rounds on the password hasher is set to something high like 100000.[1] https://code.djangoproject.com/ticket/20760 A proposed patch is at [2] but not yet a commit in upstream git repository. [2] https://code.djangoproject.com/attachment/ticket/20760/20760_fix_hash_once.diff Does this needs a CVE asignment? Regards, SalvatorePlease see comments from aaugustin https://code.djangoproject.com/ticket/20760#comment:23 This is exemplary case of CWE-208 and similar issues have received CVEs. --- Henri Salo
I don't think this really deserves a CVE. All versions of Django prior to 1.6 (unreleased) have allowed you to determine if a username existed or not via the login failure message, negating the need to do any sort of timing attack. Django 1.6 is the first version that *doesn't* give exact details in the error message as to why the login was unsuccessful and as noted already the unreleased Django 1.6 has changed the error message and has applied the proposed patch. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
Current thread:
- CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Salvatore Bonaccorso (Jul 22)
- Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Salvatore Bonaccorso (Jul 23)
- Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Henri Salo (Jul 23)
- Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Donald Stufft (Jul 23)
- RE: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Christey, Steven M. (Jul 23)
- Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth Donald Stufft (Jul 23)