CVE-2026-56829 Shopper: Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component
Authenticated staff with browse-only permissions can manipulate inventory stock levels for arbitrary product variants due to missing authorization checks.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-56829?
CVE-2026-56829 is a high-severity missing authorization vulnerability in shopperlabs shopper, published on 15 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Shopper is a Headless e-commerce Admin Panel. Prior to 2.9.2, packages/admin/src/Livewire/Components/Products/VariantStock.php exposes stockAction() without edit_product_variants authorization and leaves public $variant client mutable because it lacks the Livewire Locked attribute. Any authenticated admin-panel user, including staff with only browse_products, can select an arbitrary product variant and inventory location through component state, then submit a positive or negative quantity adjustment. This permits browse-only staff to inflate stock, reduce stock, or force out-of-stock states for variants outside the current page. This issue is fixed in version 2.9.2.
Weakness: CWE-862
Which versions are affected by CVE-2026-56829?
2 open source packages ship an affected version, including shopper/framework.
| Package | Affected | Fixed in |
|---|---|---|
shopper/framework Packagist | All versions | 2.9.2 |
shopper/framework Packagist | All versions | 2.9.2 |
How do I fix CVE-2026-56829?
Upgrade shopper/framework to 2.9.2 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-56829 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-56829 exists.
Sources
Also known as GHSA-g3f9-g5vj-p62f.