Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as scope-restricted user
-
ExploitRequest GET /supplier/exportExcel directly
-
ExecutionEndpoint skips data-scope enforcement
-
ImpactExport all supplier/customer/member records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 | Requires a valid authenticated jshERP account (PR:L) that is deliberately restricted to personal- or department-level data scope; the flaw is that GET /supplier/exportExcel does not re-apply the role data-scope filtering enforced by /supplier/list. The practical precondition is a multi-role deployment where data-scope restrictions are actually configured - in a single-admin install there is no privilege boundary to cross. Limiting factors: attacker must already hold credentials and network access to the application; no privilege escalation or code execution results - impact is confidentiality only (read/export of supplier, customer and member records). |
| Impact | This is a medium-severity information-disclosure flaw (CVSS 4.0 base 5.3) whose real-world priority is moderate, not critical. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network reach, low complexity, no user interaction, but PR:L - meaning a valid authenticated account on the jshERP instance is a hard prerequisite, which substantially gates mass exploitation. The vendor scored confidentiality impact as VC:L; however the described data exposed (every supplier, customer and member record including bank accounts, tax numbers and balances) is arguably a more serious confidentiality loss, so the VC:L rating may understate impact - treat 5.3 as a floor. Exploitation signals are mixed: public POC code exists (increasing ease of reproduction), but there is NO CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation. No SSVC decision data was supplied. Net assessment: a credible, easily-reproduced authorization/data-scope bypass that matters most to organizations running jshERP with multiple restricted user roles, but the authentication requirement and the product's niche footprint keep it below emergency-patch priority absent targeting. |
| Exploit ScenarioDerived | A low-privileged jshERP user whose role restricts them to their own or their department's data authenticates normally, then directly requests GET /supplier/exportExcel instead of using the scope-enforced /supplier/list view. The export endpoint omits the data-scope check, returning an Excel file containing every supplier, customer and member record - contacts, phone numbers, tax IDs, bank accounts and balances. A public Python POC (poc_supplier_partner_scope_bypass.py) demonstrates the request, lowering the skill barrier. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
jshERP through 3.6 lets any authenticated user whose role is scoped to personal- or department-level data export the complete supplier, customer and member dataset by calling GET /supplier/exportExcel, which omits the role data-scope filter enforced by /supplier/list. The exposed fields include contacts, phone numbers, tax numbers, bank accounts and balances - a broad, tenant-wide confidentiality breach that a low-privileged account can trigger with a single HTTP request; publicly available exploit code exists, and there is no confirmed active exploitation reported. Rated CVSS 4.0 base 5.3 (assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N), this is a medium-severity, read-only information-disclosure flaw: no privilege escalation, code execution, or data modification results, and its practical impact depends on multi-role deployments where data-scope restrictions are actually configured.
RemediationAI
No vendor-released patch identified at time of analysis: the only fix-oriented references supplied are upstream source links at a specific commit (SupplierController.java and SupplierService.java), not a tagged release, so treat any remediation as self-applied or upstream-fix-not-independently-confirmed. The primary fix is to make GET /supplier/exportExcel apply the identical role data-scope predicate used by /supplier/list (mirroring the scope logic in SupplierService.java around lines 92-96), either by upgrading to an upstream build that contains that change or by patching the export service in your own fork before it serializes rows. If you cannot patch immediately, block GET /supplier/exportExcel at the reverse proxy or WAF for all roles except those legitimately entitled to tenant-wide data - the trade-off is that full-scope users lose one-click exports and must be given a privileged alternative (for example an admin-only route or an offline database report), and any role-permission edit done only in the UI menu is cosmetic because the endpoint remains directly reachable by URL. Treat the export endpoint as sensitive: enable request logging and alert on bulk export calls, especially from accounts with personal/department scope, and if an unauthorized export is suspected, review access logs, notify affected data owners, and rotate exposed supplier banking details where feasible. Keep the deployment behind authentication and network segmentation (no direct internet exposure), and track the VulnCheck advisory at https://www.vulncheck.com/advisories/jsherp-through-3.6-incorrect-authorization-via-supplier-exportexcel plus the upstream repository for a released fix.
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 (the jshERP-boot module, project jishenghua/jshERP) that enforces row-level access control through role-based data scopes - personal, department, or company-wide. The affected code path is the supplier export controller, GET /supplier/exportExcel (SupplierController.java, lines 488-501), backed by SupplierService.java (the export logic around lines 400-408 and the data-scope handling around lines 92-96). The list endpoint /supplier/list applies a data-scope predicate that narrows results to records the caller's role may see; the export endpoint serializes the full supplier/customer/member dataset to a spreadsheet without re-applying that predicate. This is CWE-863 (Incorrect Authorization): the authorization check is present for one code path but not for a functionally equivalent sibling path, a classic parallel-endpoint access-control gap rather than a broken authentication mechanism. The attack is plain HTTP GET over the network with a valid session (authenticated, PR:L per both the CVSS 4.0 vector and the independent CVSS 3.1 assessment) and requires no user interaction, making it scriptable and easy to automate against every accessible deployment.
Know when the next one hits your stack
- 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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint, low complexity, authenticated low-priv user (PR:L); C:H because the bypass exposes complete supplier/customer/member datasets including bank accounts, with no integrity or availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
jshERP through 3.6 contains an incorrect authorization vulnerability in GET /supplier/exportExcel that allows authenticated users to bypass role data scope restrictions enforced by /supplier/list. Attackers restricted to personal or department data can export every supplier, customer and member record, exposing contacts, phone numbers, tax numbers, bank accounts and balances.
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.
EUVD-2026-97386
GHSA-jqh7-3f4j-wvmx
NVD
CVE.org
EPSS
Exploit-DB