summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2021-12-27 14:48:03 +0100
committerCarlton Gibson <carlton.gibson@noumenal.es>2022-01-04 10:10:14 +0100
commitdf79ef03ac867c93caaa6be56bc69e66abfeef8f (patch)
treeb3a9a10bedcf469a106f10e122a5eb18ba0da942 /tests
parent77531695850befad4dda7f9a0ce9e78b131ab5e1 (diff)
[4.0.x] Fixed CVE-2021-45115 -- Prevented DoS vector in UserAttributeSimilarityValidator.
Thanks Chris Bailey for the report. Co-authored-by: Adam Johnson <me@adamj.eu>
Diffstat (limited to 'tests')
-rw-r--r--tests/auth_tests/test_validators.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/tests/auth_tests/test_validators.py b/tests/auth_tests/test_validators.py
index 393fbdd39c..f4aaf33052 100644
--- a/tests/auth_tests/test_validators.py
+++ b/tests/auth_tests/test_validators.py
@@ -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)