View Issue Details

IDProjectCategoryView StatusLast Update
0007994OXID eShop (all versions)1.03. Basket, checkout processpublic2026-08-19 15:11
Reportersuabo Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version6.5.4 
Summary0007994: Business Logic & Input Validation Vulnerability in Cart System
DescriptionVulnerable Component: Shopping Cart Handler (tobasket)
Vulnerable Parameter: am (Quantity Input Field)
Vector: Remote HTTP POST Data Manipulation

1. Description
The shopping cart system lacks proper server-side input length and data-type validation for the am parameter.

An attacker can manipulate the request body by injecting an excessively large integer value (e.g., $10^{100}+$). The backend processes this payload without proper bounds-checking, resulting in an uncontrolled mathematical overflow and corruption of the total cart balance calculation.

2. Business & Security Impact
- Memory & Database Risk: Unvalidated large data entries passed to backend databases or ERP systems can trigger schema errors, data truncation, or unexpected system exceptions.
- Integrity Failure in Core Logic: Allowing corrupted/overflowed totals bypasses the mathematical integrity of the pricing engine.
- Potential DoS on Checkout Processing: Processing these extreme values during downstream checkout steps can lead to application crashes or unhandled exceptions.
Steps To ReproduceSelect any product and intercept the HTTP POST request sent to /tobasket.

Modify the payload parameter am to an oversized integer value:
HTTP
Content-Disposition: form-data; name="am" 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...
The server responds with 302 Found and reflects the unvalidated value directly into the cart total calculation.

(Please refer to the attached screenshots showing both the Burp HTTP request and the resulting cart state)
Additional InformationRemediation Recommendation

- Strict Bounds Checking: Enforce server-side validation to restrict the am parameter to a realistic integer range (e.g., 1 to 99).
- Input Sanitization & Casting: Ensure inputs are explicitly cast to bounded integer types before processing calculations.

We received this vulnerability report from someone [email protected]
TagsNo tags attached.
Attached Files
1.png (203,676 bytes)   
1.png (203,676 bytes)   
2.png (134,412 bytes)   
2.png (134,412 bytes)   
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities