Skip to main content

jshERP CVE-2026-109183

| EUVDEUVD-2026-97387 MEDIUM
Missing Authorization (CWE-862)
2026-10-12 disclosure@vulncheck.com GHSA-xw5v-78ph-543j
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 low-privilege jshERP user
  2. Delivery
    POST to /depotHead/addDepotHeadAndDetail with status=1
  3. Exploit
    Bypass audit permission and approval workflow
  4. Execution
    Persist pre-approved bill in system
  5. Impact
    Alter stock levels and report query results

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

Requires a valid authenticated jshERP session with permission to reach the POST /depotHead/addDepotHeadAndDetail endpoint (any low-privilege user per PR:L); no admin or auditor role is needed. The specific abuse is supplying status=1 in the request body, which the server trusts instead of enforcing the audit/approval permission check, so the bill is created in an already-approved state. Exploitation is limited to accounts that can authenticate to the application and submit depot-head (inventory bill) creation requests; it does not work pre-authentication, requires no user interaction from a victim, and affects jshERP deployments through version 3.6.

Impact

This is a medium-severity authorization bypass (CWE-862) with a modest real-world priority. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) scores 5.3 and is internally consistent with the description: network-reachable, low complexity, but requiring an already-authenticated low-privilege account (PR:L), with impact limited to integrity (VI:L) - no confidentiality or availability loss. Publicly available exploit code exists (POC referenced), which raises operational concern, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of widespread or active exploitation - the absence of these signals, combined with the authenticated prerequisite, points to opportunistic/insider misuse rather than mass exploitation. No conflicting signals are present: the CVSS vector, the description, and the CWE all agree this is a logic/authorization flaw abusable by a legitimate but under-privileged user. The main caveat is that the impact (silently creating pre-approved bills that affect stock levels and report queries) is a business-integrity/financial-control problem that a raw 5.3 may understate for organizations relying on jshERP's approval workflow for inventory governance.

Exploit ScenarioDerived

A low-privileged but authenticated jshERP user (e.g., a basic warehouse or data-entry account) sends a crafted POST to /depotHead/addDepotHeadAndDetail with status set to 1, causing the bill to be recorded as already audited/approved. This bypasses the multi-level approval workflow and audit permission checks, so the attacker-created bill immediately affects stock quantities and downstream report queries. A public proof-of-concept script (poc_depothead_write_and_derived_read.py) demonstrates both the privileged write and the resulting derived-data read.

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

Authenticated users of jshERP through version 3.6 can create inventory bills that are already in an audited/approved state by submitting status=1 in the body of POST /depotHead/addDepotHeadAndDetail, sidestepping the application's audit permission check and multi-level approval workflow. The flaw is a missing-authorization issue (CWE-862) in which the server trusts a client-supplied status field instead of enforcing approval rights; any low-privilege account able to authenticate and reach the depot-head creation endpoint qualifies, with no victim interaction required. Impact is integrity-only and limited (CVSS 5.3; assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N), affecting stock levels and downstream report queries rather than confidentiality or availability; publicly available exploit code exists (a Python PoC is published on GitHub), but there is no confirmed active exploitation (CISA KEV) at time of analysis, and no vendor patch reference was identified.

RemediationAI

No vendor-released patch was identified at time of analysis, and the supplied NVD references point to vulnerable code in jshERP 3.6 rather than to a fixed commit or tagged release, so users should monitor the upstream jishenghua/jshERP repository and the VulnCheck advisory (https://www.vulncheck.com/advisories/jsherp-through-3.6-approval-bypass-via-adddepotheadanddetail-status-parameter) for an updated version and upgrade as soon as one is published. Until then, apply compensating controls: in DepotHeadService (around the referenced lines 1159-1163) stop trusting the client-supplied status field by forcing status to the pending/default workflow value on creation and rejecting or ignoring any non-default status submitted via POST /depotHead/addDepotHeadAndDetail - the trade-off is that legitimate bulk-import or integration clients that rely on setting status directly will break and must be moved to the proper approval API. Add an explicit server-side permission check that the authenticated principal holds the audit/approval authority before a bill can enter the approved state. Where possible, restrict network access to the depot-head creation endpoints to trusted internal networks or specific roles with a reverse-proxy/WAF rule or allow-list, understanding that this limits legitimate remote use of the module. Because the bypass only requires a low-privilege authenticated account, review and minimise the set of accounts that can create depot heads, audit existing bills for records created directly in an approved state (status=1) without corresponding approval-workflow entries, and alert on such anomalies, since stock and report integrity may already be affected.

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 a Java/Spring Boot-based enterprise resource planning and inventory management system (module jshERP-boot). The vulnerable path begins in DepotHeadController.java (around lines 586-594 of the referenced commit), which exposes POST /depotHead/addDepotHeadAndDetail for creating a depot-head (inventory bill) together with its detail lines. That request payload is passed down to DepotHeadService.java (around lines 1159-1163), where the submitted status value is persisted rather than derived server-side from the approval workflow. Because the state-transition and audit permission logic is keyed off this trusted status field, a value of 1 places the bill directly into an approved/audited state, skipping the permission check and the multi-level approval chain entirely. This is a classic CWE-862 Missing Authorization defect (mass-assignment-adjacent trust of a client-controlled state field), compounded by the absence of a server-side check that the caller holds the audit/approval permission before the record is committed. No CPE identifiers were supplied with the input data, but the affected component is the jshERP backend service for inventory bill management; the code references are to the upstream jishenghua/jshERP repository.

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:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network endpoint reachable by any authenticated low-privilege user (PR:L, AV:N, AC:L); impact is unauthorized creation of approved bills, affecting integrity only (I:L), with no confidentiality or availability loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/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
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

jshERP through 3.6 contains an authorization bypass vulnerability that allows authenticated users to create pre-approved bills by setting status in POST /depotHead/addDepotHeadAndDetail requests. Attackers can supply a status of 1 to skip audit permission checks and multi-level approval workflows, creating audited bills that affect stock and report queries.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche open-source Chinese ERP, limited SMB/self-hosted 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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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