{"id":"CVE-2026-109186","published":"2026-10-12T13:17:32.003","lastModified":"2026-10-12T13:17:32.127","description":"jshERP through 3.6 contains a mass assignment vulnerability in the UserController update handler that allows authenticated users to overwrite protected fields including tenant_id and password. Attackers can send a crafted PUT /user/update body to switch into another tenant on next login or overwrite other users' password hashes for account takeover.","cvssScore":8.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwes":["CWE-915"],"vendors":[],"products":[],"references":[{"url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/jshERP/poc_identity_privilege_write.py","tags":[]},{"url":"https://github.com/jishenghua/jshERP/blob/8f28e7c2fe54d54de3621a414f5df1833dc5a55f/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java#L97-L103","tags":[]},{"url":"https://github.com/jishenghua/jshERP/blob/8f28e7c2fe54d54de3621a414f5df1833dc5a55f/jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java#L176-L192","tags":[]},{"url":"https://www.vulncheck.com/advisories/jsherp-through-3.6-mass-assignment-via-put-user-update","tags":[]}],"exploitRefs":[{"url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/jshERP/poc_identity_privilege_write.py","tags":[]},{"url":"https://github.com/jishenghua/jshERP/blob/8f28e7c2fe54d54de3621a414f5df1833dc5a55f/jshERP-boot/src/main/java/com/jsh/erp/controller/UserController.java#L97-L103","tags":[]},{"url":"https://github.com/jishenghua/jshERP/blob/8f28e7c2fe54d54de3621a414f5df1833dc5a55f/jshERP-boot/src/main/java/com/jsh/erp/service/UserService.java#L176-L192","tags":[]}],"hasPoc":true,"ai":{"summary":"The jshERP application has a mass assignment vulnerability in its user management system that allows authenticated users to overwrite critical fields like tenant_id and password hashes. This flaw enables attackers to impersonate other users or gain unauthorized access to accounts.","exploitability":"Exploitation requires an authenticated user account and is relatively straightforward, involving sending a crafted PUT request to the /user/update endpoint with specially constructed parameters to override protected fields.","blast_radius":"If exploited, this vulnerability could allow attackers to takeover multiple user accounts across different tenants, potentially leading to widespread unauthorized access to business data and operations.","remediation":"Disable the affected UserController update handler or implement strict field whitelisting for all mass assignment operations in the user management module until a proper patch is available.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["auth","user-management","mass-assignment"],"model":"garnet-coder","analyzedAt":"2026-10-16T08:52:52.025Z"}}