
cleverange_auth v0.1.10의 DoS 취약점에 대한 상세 CVE-2026-51788 권고: 기술 분석, CVSS 점수, 개발자를 위한 완화 지침을 포함합니다.
CVE ID: 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 (제한 없는 리소스 할당)
cleverange_auth 버전 0.1.10에 서비스 거부(DoS) 취약점이 존재합니다. 이 취약점은 새로운 User 객체가 생성될 때마다 인증 레코드가 자동으로 생성되고 이메일이 즉시 발송되기 때문에 발생합니다.
이 패키지를 사용하는 애플리케이션이 속도 제한이나 CAPTCHA와 같은 적절한 남용 방지 기능 없이 공개적으로 접근 가능한 등록 엔드포인트를 노출하는 경우, 인증되지 않은 원격 공격자가 새 계정을 반복적으로 생성하여 과도한 이메일 생성과 데이터베이스 쓰기를 유발하고 결과적으로 리소스 고갈을 초래할 수 있습니다.
파일
accounts/models.py
함수
@receiver(post_save, sender=User)
def create_verification(...)
새로운 User 객체가 생성되면 create_verification post-save 시그널이 자동으로 다음 작업을 수행합니다:
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 레코드영향은 패키지를 사용하는 애플리케이션이 등록 기능을 어떻게 노출하는지, 그리고 애플리케이션이 어떤 남용 방지 기능을 구현하는지에 따라 달라집니다.
| 속성 | 값 |
|---|---|
| 공격 벡터 | 네트워크 |
| 필요한 권한 | 없음 |
| 사용자 상호작용 | 없음 |
| 인증 | 필요 없음 |
| 공격 복잡도 | 낮음 |
이 패키지는 새 User 인스턴스가 생성될 때마다 다음을 포함한 리소스 집약적인 작업을 자동으로 수행합니다:
이러한 작업이 속도 제한이나 기타 남용 방지 기능 없이 인증되지 않은 등록 워크플로를 통해 노출되면 공격자가 이를 반복적으로 트리거하여 제어되지 않는 리소스 소비를 초래할 수 있습니다.
이 패키지를 사용하는 애플리케이션은 다음을 포함한 다중 계층의 남용 방지 기능을 구현해야 합니다:
Aykhan Isgandarli가 발견하고 책임감 있게 보고했습니다.
본 권고는 방어 및 교육 목적으로 제공됩니다. 영향받는 버전을 사용하는 관리자와 개발자는 적절한 완화 조치를 적용하고 안전한 개발 관행을 준수하여 리소스 고갈 공격의 위험을 줄여야 합니다.