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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
jishenghua jshERP
Default version status: unaffected
0 to ≤ 3.6affected
pkg:github/jishenghua/jshERPReferences
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/jsherp-user-account-lifecycle-missing-authz ↗
- https://github.com/jishenghua/jshERP/blob/v3.6/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java#L541-L555 ↗
- https://github.com/jishenghua/jshERP/blob/v3.6/jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java#L901-L946 ↗
- https://github.com/jishenghua/jshERP ↗
- https://www.vulncheck.com/advisories/jsherp-through-3.6-missing-authorization-via-user-batchsetstatus ↗