diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2021-12-27 14:48:03 +0100 |
|---|---|---|
| committer | Carlton Gibson <carlton.gibson@noumenal.es> | 2022-01-04 10:10:14 +0100 |
| commit | df79ef03ac867c93caaa6be56bc69e66abfeef8f (patch) | |
| tree | b3a9a10bedcf469a106f10e122a5eb18ba0da942 /tests/auth_tests/test_validators.py | |
| parent | 77531695850befad4dda7f9a0ce9e78b131ab5e1 (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/auth_tests/test_validators.py')
| -rw-r--r-- | tests/auth_tests/test_validators.py | 11 |
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) |
