| 제목 | djangoproject django-DefectDojo 2.59.0 CWE-269 - Improper Privilege Management |
|---|
| 설명 | A user holding only the delegated "Configuration → Users (change)" permission (auth.change_user) can escalate to full superuser in two API/web requests. The UserSerializer in dojo/api_v2/serializers.py exposes both is_staff and is_superuser as writable fields but only validates is_superuser, leaving is_staff unguarded. An attacker sets is_staff=true on their own account via PATCH /api/v2/users/<ID>/, then accesses the Django admin panel to tick is_superuser via the stock UserAdmin form, bypassing the API guard entirely. This results in complete and persistent superuser control: read/write access to all Products, Engagements and Findings across all teams, plus the ability to create backdoor superusers. Exploitable by any authenticated holder of change_user with no user interaction required.
Credits: Nosferatuvjr (github.com/Nosferatuvjr), turnerlk (github.com/turnerlk) |
|---|
| 원천 | ⚠️ https://github.com/DefectDojo/django-DefectDojo/security/advisories/GHSA-w2j3-x3j3-mm43 |
|---|
| 사용자 | 0xnosferatu (UID 98920) |
|---|
| 제출 | 2026. 06. 17. PM 03:33 (1 월 ago) |
|---|
| 모더레이션 | 2026. 07. 23. PM 04:12 (1 month later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 382629 [OWASP DefectDojo 2.59.0 API/Web serializers.py UserSerializer is_staff 권한 상승] |
|---|
| 포인트들 | 20 |
|---|