CVE-2026-108691 in mall4jinfo

Summary

by MITRE • 10/11/2026

mall4j through 4.0 contains an improper authorization vulnerability that allows authenticated storefront customers to delete other shoppers' cart items through an operator precedence error in the cleanExpiryProdList SQL statement. Attackers can send one DELETE request to /p/shopCart/cleanExpiryProdList to remove every user's cart entries for off-shelf products, which do not return when products are restocked.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/11/2026

The vulnerability identified within mall4j versions up to 4.0 represents a critical failure in access control mechanisms, specifically categorized under CWE-269 Improper Privilege Management. This flaw allows authenticated users who possess standard storefront customer privileges to execute administrative-level actions without proper authorization checks. The core technical issue stems from an operator precedence error embedded within the SQL statement responsible for cleaning expired product lists, known as cleanExpiryProdList. In database query construction, incorrect handling of logical operators such as AND and OR can fundamentally alter the scope of a query's filtering conditions. When this logic is flawed in the context of user-specific data retrieval or modification, it often results in the application failing to correctly bind the current session's user identifier to the deletion criteria. Consequently, instead of targeting only the cart items belonging to the authenticated requestor, the database operation inadvertently targets all records associated with the specified condition, effectively bypassing row-level security controls that are typically enforced by such filters.

From an operational perspective, this vulnerability enables a remote attacker who has successfully authenticated as any storefront customer to perform a destructive action against other users' data. By sending a single DELETE request to the endpoint /p/shopCart/cleanExpiryProdList, an adversary can trigger the execution of the malformed SQL statement. The result is the systematic removal of cart entries for all shoppers that contain off-shelf products. These are items that have been removed from inventory or marked as unavailable and therefore do not reappear in product listings when stock levels change. This action effectively wipes out potential future sales opportunities for other customers, disrupting their shopping experience and potentially causing financial loss if the data is not recoverable through backups. The impact extends beyond simple data deletion; it undermines user trust in the platform's integrity and can lead to significant reputational damage for the e-commerce service provider.

In terms of threat modeling, this vulnerability aligns with MITRE ATT&CK technique T1098, specifically SSH Account Manipulation or more broadly Application Layer Protocol manipulation where an attacker exploits improper access control to escalate privileges or perform unauthorized actions. While it does not directly involve account takeover in the traditional sense, it leverages authenticated credentials to achieve a higher level of data modification than permitted by the user's role. The exploitation is straightforward and requires only valid authentication tokens, making it highly accessible to automated scanning tools that target common e-commerce platforms for privilege escalation flaws.

Mitigation strategies must focus on correcting the underlying code logic rather than relying solely on input validation. Developers should review the SQL query construction within the cleanExpiryProdList function to ensure that operator precedence is explicitly managed using parentheses, ensuring that user-specific identifiers are evaluated with higher priority than product status flags. Furthermore, implementing strict server-side authorization checks before executing any data modification operations is essential. The application must verify that the resource being modified belongs exclusively to the authenticated user making the request. Additionally, adopting parameterized queries or an Object-Relational Mapping (ORM) framework can help prevent SQL injection and logic errors by abstracting direct query construction from business logic. Regular security code reviews focusing on access control lists and data isolation practices are recommended to identify similar vulnerabilities across other endpoints within the mall4j ecosystem.

Responsible

VulnCheck

Reservation

10/11/2026

Disclosure

10/11/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!