Read the docs
TI-2026-40981 Aliases CVE-2026-56831GHSA-5vf4-452p-jjhf

Shopper: Negative discount values accepted and propagated through order calculation pipeline

Priority MEDIUM 62CWE-20Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00435 38th percentileScored 2026-11-07
Fix Fixed shopper (shopperlabs): 2.9.0shopper/framework (Packagist): 2.9.0

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

VendorProductAffected versionsFixed inStatusSource
shopperlabsshopperbefore 2.9.02.9.0Patch availableCNA
—shopper/framework (Packagist)before 2.9.02.9.0Patch availableGHSA-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

  1. 2026-10-02 Threatist record created from CVE-2026-56831
  2. 2026-10-03 Alias added: GHSA-5vf4-452p-jjhf

References

  • 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
See all 16 →

Sources