Skip to main content

jshERP CVE-2026-109182

| EUVDEUVD-2026-97386 MEDIUM
Incorrect Authorization (CWE-863)
2026-10-12 disclosure@vulncheck.com GHSA-jqh7-3f4j-wvmx
5.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as scope-restricted user
  2. Exploit
    Request GET /supplier/exportExcel directly
  3. Execution
    Endpoint skips data-scope enforcement
  4. Impact
    Export 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

jshERP 0 ≤3.6

Affected Packages

euvd jsherp no fix

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

Vendor (vulncheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche open-source Chinese ERP, limited enterprise deployment footprint
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy