{"id":"CVE-2026-94414","summary":"jshERP through 3.6 Missing Authorization via updateBtnStr","details":"jshERP through 3.6 is missing an authorization check on the POST /userBusiness/updateBtnStr endpoint that allows authenticated users to modify role button-permission definitions. Attackers can supply arbitrary roleId and btnStr parameters to overwrite button-permission configurations for any role in the tenant without privilege validation.","modified":"2026-09-23T03:47:31.661508536Z","published":"2026-09-21T18:16:13.884Z","database_specific":{"cwe_ids":["CWE-862"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94414.json","cna_assigner":"VulnCheck"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94414.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-94414"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/jsherp-through-3.6-missing-authorization-via-updatebtnstr"},{"type":"PACKAGE","url":"https://github.com/jishenghua/jshERP"},{"type":"ARTICLE","url":"https://github.com/jishenghua/jshERP/blob/v3.6/jshERP-boot/src/main/java/com/jsh/erp/controller/UserBusinessController.java#L149-L170"},{"type":"EVIDENCE","url":"https://github.com/LinYuanyi1/cve-request-poc/blob/master/jshERP/poc-06-userbusiness-btnstr-tamper.py"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/jishenghua/jsherp","events":[{"introduced":"0"},{"fixed":"8f28e7c2fe54d54de3621a414f5df1833dc5a55f"}],"database_specific":{"source":["AFFECTED_FIELD","DESCRIPTION"],"extracted_events":[{"introduced":"0"},{"last_affected":"3.6"},{"fixed":"3.6"}]}}],"versions":["v3.3","v3.2","v3.1","v3.0","v2.3.1","v2.3","v2.1","v2.0","v1.5","v1.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-94414.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N"}]}