Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any buyer
-
ExploitRequest GET /buyer/trade/receipt/{id} with another buyer's id
-
ExecutionBypass missing ownership check in getDetail
-
ImpactHarvest invoice PII and taxpayer IDs by enumeration
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires a valid authenticated buyer account on the target lilishop instance (PR:L); the attacker then supplies another buyer's receipt id to the endpoint GET /buyer/trade/receipt/{id}, which succeeds because ReceiptServiceImpl.getDetail returns the record without verifying that the requesting buyer owns it. No special product configuration or feature toggle is needed - the flaw is present in the default code path through version 5.0.0. Practical limits: the attacker must hold or register a buyer login, must know or enumerate valid receipt IDs (feasible if IDs are sequential or guessable), and can only read data - no write, modification, or privilege escalation is possible. |
| Impact | This is a genuine but moderate-severity information-disclosure issue, not a top-tier emergency. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VC:L) correctly characterizes it: network-reachable, low attack complexity, but requiring an authenticated buyer account (PR:L) and yielding only low-confidentiality impact with no integrity or availability effect - consistent with CWE-639 (IDOR). No EPSS score, no CISA KEV listing, and no vendor-confirmed exploit-code flag were provided, so exploitation status is 'no public exploit identified at time of analysis'; however, the referenced HackMD write-up and direct GitHub links to the vulnerable ReceiptServiceImpl.getDetail method mean the technical path is fully public and the bug is trivially reproducible by anyone with a buyer login. The signals are internally consistent (no conflict between vector and description). The main reason this is a real but bounded priority is the data exposed - taxpayer identification numbers, invoice titles, order numbers, and member identities constitute PII/tax data with privacy and regulatory consequences - tempered by the low real-world footprint of lilishop and the requirement for an authenticated account that can only read, not modify, records. |
| Exploit ScenarioDerived | An attacker registers or already holds a legitimate buyer account on a lilishop storefront, then issues GET /buyer/trade/receipt/{id} while substituting receipt IDs belonging to other buyers. Because ReceiptServiceImpl.getDetail performs no ownership check, each request returns another buyer's invoice record, allowing the attacker to enumerate and harvest taxpayer IDs, invoice titles, order numbers, and member names at scale. No public weaponized exploit is listed, but a detailed write-up and the vulnerable source are publicly linked, making reproduction straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
An insecure direct object reference (IDOR) in PickMall lilishop through 5.0.0 allows authenticated buyers to read other buyers' invoice records-including invoice titles, taxpayer identification numbers, order numbers, member IDs and member names-by supplying another buyer's receipt ID to GET /buyer/trade/receipt/{id}. The flaw resides in ReceiptServiceImpl.getDetail, which performs no ownership check, and can only be exploited by a user with a valid buyer account who can guess or enumerate valid receipt IDs. This is a moderate-severity information-disclosure issue (CVSS 5.3, CWE-639); it is not listed in CISA KEV and no public exploit code or active in-the-wild exploitation has been confirmed, though a public technical writeup exists.
RemediationAI
No vendor-released patch has been identified at the time of analysis. The definitive fix is a server-side authorization check in ReceiptServiceImpl.getDetail (and equivalent methods) that verifies the requesting buyer's member ID matches the receipt's owner before returning data; this change must be applied by the vendor or by organizations maintaining a fork. Until a patched version is available, operators should consider the following compensating controls, each with trade-offs: (1) implement a reverse-proxy or API-gateway rule that rejects requests to /buyer/trade/receipt/{id} where the receipt ID does not belong to the authenticated session - this requires custom logic and may be error-prone; (2) if the invoice/receipt feature is not essential, disable the endpoint entirely (e.g., by removing or blocking the route) at the cost of losing legitimate functionality; (3) enforce strict rate limiting and anomaly detection on the endpoint to make enumeration of sequential receipt IDs impractical, though this does not eliminate the flaw for known IDs; (4) log and alert on repeated 200 responses from different buyers to the same receipt ID to detect exploitation attempts. Monitor the vendor's GitHub repository and the VulnCheck advisory for a patched release.
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
The vulnerability is a classic IDOR (CWE-639: Authorization Bypass Through User-Controlled Key) in the Java-based lilishop e-commerce platform. The buyer-facing controller ReceiptBuyerController.java (lines 33-37) accepts a receipt ID path parameter and delegates to ReceiptServiceImpl.getDetail (lines 40-43) without verifying that the authenticated buyer owns the requested receipt. Because the service directly fetches the record by primary key, any authenticated buyer can access any other buyer's receipt simply by changing the ID. The exposed data includes invoice titles, taxpayer identification numbers, linked order numbers, member IDs and member names-enough to facilitate targeted phishing or fraud. The CPE cpe:2.3:a:pickmall:lilishop:*:*:*:*:*:*:*:* indicates all versions through 5.0.0 are affected; the flaw is present in the default code path and requires no special configuration.
Know when Lilishop 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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network endpoint reachable with low complexity; PR:L because a valid buyer account is required; C:L for limited PII disclosure, with no integrity or availability impact and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PickMall lilishop through 5.0.0 contains an insecure direct object reference vulnerability that allows authenticated buyers to read other buyers' invoice records because ReceiptServiceImpl.getDetail performs no ownership check. Attackers can supply another buyer's receipt id to GET /buyer/trade/receipt/{id} to obtain invoice titles, taxpayer identification numbers, order numbers, member ids and member names.
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-103069
GHSA-fhmc-q37v-9xhx
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB