Skip to main content

mall4j EUVDEUVD-2026-96711

| CVE-2026-108690 MEDIUM
Operator Precedence Logic Error (CWE-783)
2026-10-11 VulnCheck GHSA-m4x2-mf8c-9rmw
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Register/authenticate storefront account
  2. Exploit
    Request GET /p/shopCart/expiryProdList
  3. Execution
    Trigger operator-precedence flaw in SQL filter
  4. Impact
    Receive other users' cart metadata

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Operator precedence logic error
Exploitation Conditions

Requires a valid authenticated storefront/customer account (any low-privileged shopper account suffices - self-registration on an open storefront typically provides one) and the ability to reach the API endpoint GET /p/shopCart/expiryProdList (the shopping-cart expired/off-shelf product list). No special non-default configuration, no administrative privilege, and no user interaction are needed; the flaw is in the default getShopCartExpiryItems SQL query logic. Limiting factors: exploitation is bounded to confidentiality of other users' off-shelf cart metadata (product, SKU, quantity, shop, promoter card numbers) - it does not expose credentials, allow modification, or affect availability - and it affects only mall4j deployments at or below version 4.0 that expose the storefront API to the attacker.

Impact

This is a medium-severity (CVSS 4.0 base 5.3), confidentiality-only information disclosure issue, and the signals are internally consistent rather than conflicting. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N) indicates network-reachable, low-complexity exploitation that requires a low-privileged (authenticated) storefront account and no user interaction, with only low confidentiality impact and no integrity or availability impact - matching the description of an authenticated customer reading other shoppers' off-shelf cart entries. Publicly available exploit code exists (VulnCheck-reported, with a GitHub PoC), which raises practical exploitability for any party already holding a storefront account, but there is NO CISA KEV listing and NO EPSS score was provided in the input, so there is no evidence of active or widespread exploitation and probability of mass exploitation cannot be quantified from available data. SSVC-style framing: exploitation is 'poc' (not active), the impact is partial/low (leaked cart metadata including product, SKU, quantity, shop, and promoter card numbers rather than credentials or full account data), and automatability is plausible given the single unauthenticated-interaction GET request once a session exists. Net: this is a real but modest-priority issue - the PR:L requirement and confidentiality-only, low-value data exposure keep it below a drop-everything priority despite public PoC; prioritize patching for internet-facing mall4j deployments but it is not a high-real-risk emergency.

Exploit ScenarioDerived

An attacker registers or already holds an ordinary storefront customer account on a mall4j (≤4.0) site, authenticates, and issues GET /p/shopCart/expiryProdList; due to the SQL operator-precedence flaw in getShopCartExpiryItems the filter fails to scope results to the attacker, returning other users' off-shelf basket entries. A public Python PoC (poc_shopcart_expiry_prodlist.py) exists, so exploitation requires only a valid session and a single crafted request, leaking product, SKU, quantity, shop, and promoter card numbers belonging to other shoppers.

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 11, 2026

Authenticated shoppers on mall4j through version 4.0 can read other customers' off-shelf cart entries - product, SKU, quantity, shop and promoter card numbers - by calling GET /p/shopCart/expiryProdList on the storefront API. Exploitation is medium severity (CVSS 4.0 base 5.3, confidentiality-only): it requires only a self-registered low-privileged account, no administrative rights, no user interaction and no non-default configuration, because the flaw sits in the default getShopCartExpiryItems SQL logic. Publicly available exploit code exists; no confirmed active exploitation has been reported and no vendor-released patch has been identified at time of analysis.

RemediationAI

No vendor-released patch identified at time of analysis; only a public exploit POC and source-code references are published, and no fixed version has been confirmed. The definitive fix is to correct the operator precedence in getShopCartExpiryItems in yami-shop-service/src/main/resources/mapper/BasketMapper.xml (lines 41-48) so the requesting user-id predicate is explicitly parenthesised and always applied, then redeploy the API service and verify with a two-account test that account A no longer sees account B's off-shelf cart rows. Interim compensating controls: block or add strict authorization checks for GET /p/shopCart/expiryProdList at the gateway/WAF (trade-off: legitimate shoppers lose the expired/off-shelf product listing feature); disable the corresponding controller mapping in ShopCartController.java if that feature is unused; restrict who can obtain a storefront account (invitation-only or vetted registration), which reduces mass abuse but does not stop misuse by any legitimate account holder; and monitor API logs for enumeration-style requests to /p/shopCart/expiryProdList. Track the VulnCheck advisory at https://www.vulncheck.com/advisories/mall4j-through-4.0-operator-precedence-error-exposes-other-users-cart-items-via-p-shopcart-expiryprodlist and review the published POC at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/mall4j/poc_shopcart_expiry_prodlist.py for detection guidance.

Affected VersionsENISA

mall4j 0 ≤4.0

Affected Packages

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

mall4j (gz-yami) is a Java/Spring Boot e-commerce platform whose persistence layer uses MyBatis mapper XML. The vulnerable method getShopCartExpiryItems in yami-shop-service/src/main/resources/mapper/BasketMapper.xml (lines 41-48) constructs a SQL WHERE clause containing an operator precedence error (CWE-783): a predicate intended to restrict results to the calling user is not correctly grouped with the surrounding AND/OR conditions, so the query returns other shoppers' expired/off-shelf basket rows instead of only the caller's. The endpoint that invokes it, GET /p/shopCart/expiryProdList, is mapped in yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java (lines 162-186). The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N matches this: network-reachable, low attack complexity, authenticated (PR:L), low confidentiality impact only, with no integrity or availability effect and no subsequent-system impact. CPE cpe:2.3:a:gz-yami:mall4j:*:*:*:*:*:*:*:* reflects that all releases through 4.0 carry the defect.

Know when Mall4J 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

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 4.3 MEDIUM

Network-reachable endpoint with low complexity but requires a low-privileged authenticated account (PR:L); impact is limited to low confidentiality disclosure of cart metadata, with no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/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

mall4j through 4.0 contains an information disclosure vulnerability that allows authenticated customers to read other shoppers' cart items due to an operator precedence error in the getShopCartExpiryItems SQL filter. Attackers with any storefront account can request GET /p/shopCart/expiryProdList to retrieve off-shelf product basket entries including product, SKU, quantity, shop, and promoter card numbers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche open-source Java mall platform (gz-yami), limited enterprise footprint
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in mall4j Cart Authorization Flaws via Operator Precedence

View all 2

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