mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed CVE-2021-45115 -- Prevented DoS vector in UserAttributeSimilarityValidator.
Thanks Chris Bailey for the report. Co-authored-by: Adam Johnson <me@adamj.eu>
This commit is contained in:
committed by
Carlton Gibson
parent
ccafad2e42
commit
968a3d01fa
@@ -150,13 +150,10 @@ class UserAttributeSimilarityValidatorTest(TestCase):
|
||||
max_similarity=1,
|
||||
).validate(user.first_name, user=user)
|
||||
self.assertEqual(cm.exception.messages, [expected_error % "first name"])
|
||||
# max_similarity=0 rejects all passwords.
|
||||
with self.assertRaises(ValidationError) as cm:
|
||||
UserAttributeSimilarityValidator(
|
||||
user_attributes=['first_name'],
|
||||
max_similarity=0,
|
||||
).validate('XXX', user=user)
|
||||
self.assertEqual(cm.exception.messages, [expected_error % "first name"])
|
||||
# Very low max_similarity is rejected.
|
||||
msg = 'max_similarity must be at least 0.1'
|
||||
with self.assertRaisesMessage(ValueError, msg):
|
||||
UserAttributeSimilarityValidator(max_similarity=0.09)
|
||||
# Passes validation.
|
||||
self.assertIsNone(
|
||||
UserAttributeSimilarityValidator(user_attributes=['first_name']).validate('testclient', user=user)
|
||||
|
||||
Reference in New Issue
Block a user