Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege tenant user
-
ExploitCraft POST /user/batchSetStatus with target ids and status
-
ExecutionSubmit request bypassing absent authorization check
-
ImpactDisable all non-owner accounts, lock out administrators
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated low-privilege account within the same jshERP tenant (CVSS PR:L) and the ability to reach the POST /user/batchSetStatus endpoint over the network; no user interaction, admin rights, or non-default configuration is needed because the endpoint is missing its authorization check by design. The primary limiting factor is the authentication requirement - the attacker must already be a valid user - which confines impact to insiders or anyone who can obtain low-privilege credentials, and scope is bounded to accounts within the attacker's own tenant. |
| Impact | The CVSS 4.0 base score of 7.1 (HIGH) is driven almost entirely by the availability impact (VA:H) - an attacker can mass-disable accounts and lock out administrators within their tenant - while confidentiality is untouched (VC:N) and integrity is limited (VI:L). The vector is network-reachable with low complexity and no user interaction (AV:N/AC:L/AT:N/UI:N), but critically requires existing low-privilege authentication (PR:L), so this is a privileged-insider / post-authentication escalation issue rather than a pre-auth internet-wide threat. No EPSS score was provided in the input, and there is no CISA KEV listing and no explicit POC flag, so there is no public-exploitation signal to elevate priority beyond the CVSS figure; however, the referenced HackMD write-up and VulnCheck advisory describe the flaw and the vulnerable source lines in enough detail that weaponization is trivial. SSVC-style reading: exploitation status is 'none' (no confirmed active use), the attack is automatable (a single crafted POST with id/status arrays), and technical impact is partial (account lockout/DoS within a tenant, not full system takeover). Net: a genuine but context-bounded priority - treat as HIGH in multi-tenant jshERP deployments where untrusted low-privilege users exist, and lower where all authenticated users are trusted. Note the input 'Authentication Bypass' tag is slightly misleading: CWE-862 and the description confirm this is a missing-authorization flaw exploited by an already-authenticated user, not an authentication bypass - verify tag semantics before triaging. |
| Exploit ScenarioDerived | A low-privilege user who already holds valid credentials in a jshERP tenant sends a crafted POST to /user/batchSetStatus containing other users' ids and a disabled status value. Because the endpoint performs no ownership or role check, the request succeeds and disables every non-owner account - including administrators - producing a tenant-wide lockout, or alternatively re-enables previously disabled accounts. No public exploit code is identified, but the VulnCheck advisory and HackMD analysis document the exact vulnerable controller/service code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Missing authorization in jshERP through 3.6 lets any authenticated low-privilege user hit POST /user/batchSetStatus and mass-change account status for other users in the same tenant, disabling every non-owner account - including administrator accounts - or re-enabling previously disabled ones. Exploitation requires only a valid low-privilege account and network reachability to the endpoint (CVSS PR:L, no user interaction), which confines realistic risk to insiders or anyone who can obtain low-privilege credentials. No public exploit code or confirmed active exploitation was identified at time of analysis; the CVSS 4.0 score of 7.1 (HIGH) and the independent 3.1 assessment (7.1, AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H) are driven almost entirely by availability impact, with confidentiality untouched and integrity only partially affected.
RemediationAI
No vendor-released patch or fixed version was identified at time of analysis, so remediation must be compensating-control driven. The most direct mitigation is to deny unprivileged principals access to POST /user/batchSetStatus: add a role check (admin-only) in a servlet filter or Spring Security interceptor in front of UserController#batchSetStatus, or, if the batch function is unused by business processes, remove/disable the batchSetStatus method entirely - the trade-off being loss of legitimate bulk account management. If code changes are not feasible, block or restrict the /user/batchSetStatus path at a reverse proxy or WAF to non-administrative source ranges or authenticated admin sessions; this trades operational convenience and may break legitimate bulk status workflows. Additionally, tightly control who receives any jshERP account (since only authentication, not a role, is needed), enforce a dedicated non-shared admin account that is excluded from the affected tenant scope where possible, and add alerting on audit logs for bulk user-status changes or unexpected disabling of administrative accounts so a lockdown can be reversed quickly. Monitor https://github.com/jishenghua/jshERP and the VulnCheck advisory for an upstream fix and apply it as soon as it is released.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
jshERP is an open-source Java/Spring Boot ERP application (the jshERP-boot module) that is multi-tenant by design, with user accounts scoped to a tenant and hierarchical roles. CVE-2026-110615 is a classic CWE-862 Missing Authorization defect: the batch status operation exposed by UserController.java (lines 541-555, as shipped in the v3.6 tag) delegates to UserService.java (lines 901-946) to update multiple user records from attacker-supplied 'ids' and 'status' values, but the endpoint performs no role, ownership, or tenant-boundary permission check on the caller. Because authorization is absent rather than merely weak, any principal that passes authentication - regardless of privilege level - can invoke the batch update and affect any account reachable in the tenant, including the accounts that administer it. The CPE entry cpe:2.3:a:jishenghua:jsherp:*:*:*:*:*:*:*:* indicates the affected product is jshERP as a whole, with all versions up to and including 3.6 in scope; the vendor's GitHub repository is the primary reference point for the vulnerable code paths. No CWE-639 (IDOR-style) or injection mechanism is involved - the sole root cause is the missing authorization gate on an otherwise functional administrative operation.
Know when Jsherp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Authenticated low-privilege user over the network (PR:L/AV:N/AC:L); no data disclosure (C:N), limited integrity via status change (I:L), high availability impact from mass account lockout (A:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Executive ViewAI
Organizations using jshERP versions up to 3.6 face a high-severity authorization gap that lets any authenticated user with basic privileges disable or re-enable accounts across their tenant, including administrators, potentially locking out the entire workforce. This creates a significant insider threat and availability risk, as a single low-privilege account could disrupt critical ERP operations. No public exploit identified at time of analysis and No vendor-released patch identified at time of analysis, so leadership should prioritize interim mitigations to protect business continuity.
No vendor patch available; restrict access to POST /user/batchSetStatus to trusted administrators, monitor for unauthorized mass account status changes, and enforce least privilege. Consider disabling the endpoint if not required.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
jshERP v3.3 is vulnerable to SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
jshERP v3.3 is vulnerable to SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
jshERP v3.3 is vulnerable to SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
jshERP v3.3 is vulnerable to SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
Incorrect access control in the component \controller\ResourceController.java of jshERP v3.5 allows unauthorized attacke
Incorrect access control in the component \controller\RoleController.java of jshERP v3.5 allows unauthorized attackers t
Authenticated users can exploit a missing authorization check in jshERP 3.6 and earlier to manipulate userBusiness autho
Authenticated account takeover in jshERP through 3.6 allows any logged-in user to reset the password of any other accoun
Privilege escalation in jshERP 3.6 allows an authenticated low-privilege tenant user to grant themselves arbitrary roles
Authenticated users of jshERP through 3.6 can read, modify, and delete other users' business objects - such as materials
Privilege escalation in jshERP through 3.6 lets any authenticated user - including one holding only a low-privileged ten
jshERP through 3.6 exposes unsalted MD5 password hashes via the /user/info endpoint, allowing any authenticated user to
EUVD-2026-101243
GHSA-8426-mpq6-mjwc
NVD
CVE.org
EPSS
VulDB
Exploit-DB