Skip to main content

yshop-crm CVE-2026-109173

| EUVDEUVD-2026-97377 MEDIUM
Missing Authorization (CWE-862)
2026-10-12 disclosure@vulncheck.com GHSA-59m8-j2f8-vc8x
5.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain any back-office account
  2. Delivery
    Send POST to /admin-api/crm/invoice/check with target invoice id
  3. Exploit
    Endpoint lacks @PreAuthorize/approver check
  4. Execution
    Invoice approved or rejected without authority
  5. Impact
    Invoice approval workflow bypassed

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 back-office session on yshop-crm (PR:L); any low-privileged user account suffices because the /admin-api/crm/invoice/check handler in CrmInvoiceController has no @PreAuthorize annotation and the approver-identity checks in CrmInvoiceServiceImpl are commented out. The attacker only needs to know or guess an existing invoice id, which is supplied directly in the request. Exploitation is LIMITED by the need for authentication (not exploitable by anonymous remote attackers) and is constrained to the invoice approve/reject workflow - it does not grant data disclosure or code execution. No special non-default configuration is required; the missing authorization is present in the shipped code through version 2.1.3.

Impact

This is a genuine but moderate-severity business-logic flaw, not a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) scores 5.3 (Medium) and is internally consistent with the description: network-reachable, low complexity, requires low privileges (PR:L - any authenticated back-office user), no user interaction, and only a limited integrity impact (VI:L) with no confidentiality or availability loss. CWE-862 (Missing Authorization) matches the root cause precisely. Publicly available POC code exists (a Python script in a third-party GitHub repo), which raises practical exploitability, but there is NO CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation - POC availability and active exploitation are distinct signals and should not be conflated. The key limiting factor is that the attacker must already hold valid back-office credentials, so this is a privilege-escalation/authorization-bypass issue usable by a malicious or compromised insider rather than an anonymous internet attacker. Net: a real but bounded priority - patch in normal cycles, prioritize if untrusted or low-privilege staff have back-office accounts.

Exploit ScenarioDerived

A low-privileged back-office user (or an attacker who has phished/compromised any staff account) who is not authorized to approve invoices sends a crafted POST to /admin-api/crm/invoice/check supplying an arbitrary invoice id, and the server approves or rejects it despite the lack of approver authorization. A public Python POC (poc_crm_invoice_check.py) demonstrates the request. Because AC is low and no user interaction is needed, the request succeeds reliably once any authenticated session is held.

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

Missing authorization in yshop-crm through 2.1.3 lets any authenticated back-office user approve or reject arbitrary invoices through POST /admin-api/crm/invoice/check, bypassing the intended approval workflow by supplying any invoice id. The CrmInvoiceController check handler carries no @PreAuthorize annotation and the approver-identity checks in CrmInvoiceServiceImpl are commented out, so a low-privileged account with a valid session is sufficient; authentication is still required (CVSS v4.0 AV:N/PR:L; internal assessment CVSS v3.1 5.3 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N), so anonymous remote exploitation is not possible. Publicly available exploit code exists (a Python PoC published on GitHub), but there is no indication of confirmed active exploitation (not listed in CISA KEV). Impact is limited to unauthorized modification of the invoice approval state - no data disclosure, privilege escalation beyond the workflow, or code execution has been demonstrated.

RemediationAI

No vendor-released patch was identified in the available data for yshop-crm 2.1.3 or earlier, so remediation must be applied by the operator. Primary fix: add a @PreAuthorize (or equivalent role/authority check) to the check handler in CrmInvoiceController.java and re-enable the approver-identity validation in CrmInvoiceServiceImpl.java so only users holding the invoice-approval role can transition an invoice, and validate that the caller matches the assigned approver for the specific invoice id. Compensating controls until code changes ship: restrict network access to /admin-api/crm/invoice/check (reverse-proxy/WAF deny rule or block the path for all but the approval role), which has the trade-off of breaking legitimate approval workflows unless a narrow allow-list is maintained; audit and reconcile invoice approval history against the SQL data set referenced at sql/yshop-crm-open-source.sql, noting this only detects abuse after the fact; and reduce exposure by ensuring back-office accounts follow least privilege, since exploitation requires only a valid low-privileged session (PR:L). A public PoC exists at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/yshop-crm/poc_crm_invoice_check.py and can be used to verify the fix; see the vendor advisory at https://www.vulncheck.com/advisories/yshop-crm-through-2.1.3-missing-authorization-via-invoice-check-endpoint for updates.

Affected VersionsENISA

yshop-crm 0 ≤2.1.3

Affected Packages

euvd yshop_crm 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

yshop-crm is a Java/Spring Boot CRM application (package root co.yixiang.yshop, module yshop-module-crm). The root cause is CWE-862, Missing Authorization: the invoice approval endpoint /admin-api/crm/invoice/check is implemented in CrmInvoiceController.java (lines ~72-78) without a @PreAuthorize method-security annotation, so the framework's authorization interceptor never restricts the call to users holding the approval role. In addition, the business-layer guard in CrmInvoiceServiceImpl.java (lines ~219-315) that should verify the caller is the designated approver is commented out in the shipped source, meaning the handler accepts any invoice id from any authenticated back-office session and transitions the invoice to approved or rejected. The referenced SQL seed file (yshop-crm-open-source.sql, line 2597) shows the default schema/sample data used for reproducing the workflow. The vulnerability is a horizontal authorization failure on the approve/reject business action rather than a memory-safety or injection flaw, and the CVSS v4.0 vector (VC:N/VI:L/VA:N, SC:N/SI:N/SA:N) confirms the effect is confined to low-integrity changes in the invoice state.

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 with low complexity and no UI; PR:L because any authenticated back-office account is needed; only limited integrity impact (unauthorized invoice state change), 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

yshop-crm through 2.1.3 contains a missing authorization vulnerability that allows any authenticated back-office user to approve or reject invoices via POST /admin-api/crm/invoice/check. The CrmInvoiceController check handler lacks @PreAuthorize and approver checks are commented out, letting attackers bypass the invoice approval workflow by supplying any invoice id.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Rare
niche open-source Chinese CRM, negligible 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

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