
Подробное описание CVE-2026-51788 для DoS-уязвимости в cleverange_auth v0.1.10 с техническим анализом, оценкой CVSS и рекомендациями по устранению для разработчиков.
Идентификатор CVE: CVE-2026-51788
Статус: Назначен
Дата обнаружения: 2026-04-27
Исследователь: Aykhan Isgandarli
Серьёзность: Высокая (CVSS v3.1: 7.5)
Вектор CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Затронутый продукт: cleverange_auth
Затронутая версия: v0.1.10
CWE: CWE-400 (Неконтролируемое потребление ресурсов), CWE-770 (Выделение ресурсов без ограничений)
Уязвимость отказа в обслуживании (DoS) существует в cleverange_auth версии 0.1.10. Уязвимость вызвана автоматической генерацией записей проверки и немедленной отправкой электронной почты при создании нового объекта User.
Если приложение, использующее этот пакет, предоставляет общедоступную конечную точку регистрации без соответствующих защит от злоупотреблений, таких как ограничение скорости или CAPTCHA, неаутентифицированный удаленный злоумышленник может многократно создавать новые учетные записи и вызывать чрезмерную генерацию электронных писем и записи в базу данных, что приводит к истощению ресурсов.
Файл
accounts/models.py
Функция
@receiver(post_save, sender=User)
def create_verification(...)
Когда создается новый объект User, сигнал create_verification после сохранения автоматически выполняет следующие операции:
Verification.account_code.verify_code.Соответствующий путь кода:
@receiver(post_save, sender=User)
def create_verification(sender, instance, created, **kwargs):
if created:
current_user = Verification.objects.create(user=instance)
ac_code = ''.join([str(random.randint(0, 999)).zfill(3) for _ in range(4)])
current_user.account_code = ac_code
code_num = ''.join([str(random.randint(0, 999)).zfill(3) for _ in range(2)])
current_user.verify_code = code_num
email.send(fail_silently=False)
Поскольку сигнал выполняет эти действия автоматически для каждого вновь созданного пользователя, приложения, не реализующие ограничение запросов или другие средства защиты от автоматизации, могут позволить злоумышленникам многократно запускать дорогостоящие операции.
Неаутентифицированный злоумышленник может многократно отправлять запросы на регистрацию, чтобы вызвать:
User и VerificationВлияние зависит от того, как приложение, использующее пакет, предоставляет функциональность регистрации и какие защиты от злоупотреблений реализованы в приложении.
| Свойство | Значение |
|---|---|
| Вектор атаки | Network |
| Необходимые привилегии | None |
| Взаимодействие пользователя | None |
| Аутентификация | Not Required |
| Сложность атаки | Low |
Пакет автоматически выполняет ресурсоемкие операции при каждом создании нового экземпляра User, включая:
Когда эти операции становятся доступными через неаутентифицированный рабочий процесс регистрации без ограничения скорости или других защит от злоупотреблений, злоумышленник может многократно их инициировать, что приводит к неконтролируемому потреблению ресурсов.
Приложения, использующие этот пакет, должны реализовать несколько уровней защиты от злоупотреблений, включая:
Обнаружено и ответственно сообщено Aykhan Isgandarli.
Данная консультация предоставлена в защитных и образовательных целях. Администраторам и разработчикам, использующим затронутые версии, следует применить соответствующие меры смягчения и следовать безопасным практикам разработки, чтобы снизить риск атак, связанных с истощением ресурсов.