Shopper: Negative discount values accepted and propagated through order calculation pipeline
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.0, the /cpanel/discounts administrative interface accepts negative fixed_amount discount values, persists them in sh_discounts, and passes them through vendor/shopper/cart/src/Discounts/DiscountCalculator.php and vendor/shopper/cart/src/Pipelines/Calculate.php without enforcing a positive-value invariant. Because the calculation subtracts discountTotal from the subtotal, a negative discount increases the resulting order total instead of reducing it. Malformed discount records can therefore cause incorrect pricing and financial data integrity failures, although the advisory does not establish a customer-facing exploitation path. This issue is fixed in version 2.9.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| shopperlabs | shopper | before 2.9.0 | 2.9.0 | Patch available | CNA |
| — | shopper/framework (Packagist) | before 2.9.0 | 2.9.0 | Patch available | GHSA-5vf4-452p-jjhf |
- shopper Vendorshopperlabs Affected before 2.9.0 Fixed in 2.9.0 Patch available CNA
- shopper/framework (Packagist) Vendor— Affected before 2.9.0 Fixed in 2.9.0 Patch available GHSA-5vf4-452p-jjhf
Remediation
- Fix · CNA shopper (shopperlabs) Fixed in 2.9.0
- Fix · GHSA-5vf4-452p-jjhf shopper/framework (Packagist) Fixed in 2.9.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-56831
- 2026-10-03 Alias added: GHSA-5vf4-452p-jjhf
References
Other 5
- https://github.com/shopperlabs/shopper/security/advisories/GHSA-5vf4-452p-jjhf
- https://github.com/shopperlabs/shopper/pull/528
- https://github.com/shopperlabs/shopper/commit/967e616281ded1a0050d9102858ecd7dd7f66a41
- https://github.com/shopperlabs/shopper/releases/tag/v2.9.0
- https://github.com/shopperlabs/shopper
More shopperlabs vulnerabilities
- TI-2026-83413 Stored XSS via SVG and HTML uploads in Shopper admin panel CVSS 3.1HIGH 8.7
- TI-2026-40978 Missing authorization in shopperlabs shopper CVSS 3.1HIGH 8.1
- TI-2026-83412 Missing authorization in Shopper lets staff delete product variants CVSS 3.1HIGH 8.1
- TI-2026-40979 Shopper: Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component CVSS 3.1HIGH 8.1
- TI-2026-40977 Shopper: Missing authorization on product removal actions in CollectionProducts component CVSS 3.1HIGH 8.1
- TI-2026-35241 Shopper: Race condition on Discount.usage_limit allows silent over-redemption CVSS 3.1MEDIUM 5.9
Sources
- CVE-2026-56831 · CVE Program
- CVE-2026-56831 · NVD
- FIRST EPSS
- GHSA-5vf4-452p-jjhf · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences