oss-sec mailing list archives

Re: CVE Request: Django: Account enumeration through timing attack in password verification in django.contrib.auth


From: Henri Salo <henri () nerv fi>
Date: Wed, 24 Jul 2013 01:15:39 +0300

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,
Salvatore

Please 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

Attachment: signature.asc
Description: Digital signature


Current thread: