Description
jshERP through 3.6 contains a missing authorization vulnerability in the POST /user/batchSetStatus endpoint that allows authenticated low-privilege users to change other users' account status. Attackers can submit crafted ids and status values to disable every non-owner account in their tenant, locking out administrators, or re-enable disabled accounts.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jishenghua | jshERP | ≤ 3.6 | — |
References
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/jsherp-user-account-lifecycle-missing-authz third-party-advisory
- https://github.com/jishenghua/jshERP/blob/v3.6/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java#L541-L555 technical-description
- https://github.com/jishenghua/jshERP/blob/v3.6/jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java#L901-L946 technical-description
- https://github.com/jishenghua/jshERP product
- VulnCheck Advisory: jshERP through 3.6 Missing Authorization via /user/batchSetStatus third-party-advisory