| Title | zsadmin ZS-Admin <=1.0.0 SQL Injection |
|---|
| Description | ZS-Admin's common pagination class PageInfo reads the sorting field from the request parameter orderField and passes it to MyBatis-Plus OrderItem.asc() or OrderItem.desc(). The value is only converted by StrUtil.toUnderlineCase() and is not validated against a whitelist of allowed database columns.
When a business endpoint constructs a pagination object with new PageInfo<>(xxxPageQueryParams), an attacker can inject additional SQL expressions through orderField. The expression is appended to the generated ORDER BY clause, resulting in SQL injection. |
|---|
| Source | ⚠️ https://github.com/zsadmin2025/zs-admin-java/issues/4 |
|---|
| User | cl0ney (UID 99026) |
|---|
| Submission | 06/15/2026 17:47 (2 months ago) |
|---|
| Moderation | 07/21/2026 10:55 (1 month later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 380828 [zsadmin2025 ZS-Admin up to b52e14536d59fda11e56e2536a1c32e82a38cead com.zs.sys.dept.controller.SysDeptController page OrderItem.asc/OrderItem.desc orderField sql injection] |
|---|
| Points | 20 |
|---|