Junglewise Threat Intelligence

CVE-2026-56825: Shopper CollectionProducts missing authorization on product removal

CVE-2026-56825 · Severity: high · CVSS 8.1 · Published 2026-09-11

Executive brief

The Shopper e-commerce platform's collection management interface lacks proper authorization controls on product removal actions. An authenticated staff member with only basic "browse collections" permission can remove any product from any collection in the database, including collections they have never accessed. This allows an insider to silently break product groupings that drive storefront categories and promotional campaigns.

Technical details

The vulnerability is a missing authorization check (CWE-862) in the Filament component located at packages/admin/src/Livewire/Components/Collection/CollectionProducts.php. Two distinct code paths lack authorization: the per-record Action::make('delete') at line 73 and the DeleteBulkAction::make() at line 91, neither carrying an ->authorize(...) method chain. Additionally, the public Collection $collection property at line 40 lacks the #[Locked] attribute, allowing client-side modification of the collection ID in Livewire wire payloads. An authenticated user can exploit this by crafting a POST request to /shopper/livewire/update, injecting an arbitrary collection ID and product ID list into the component snapshot, and invoking callBulkAction or the per-record delete. The required privilege level is minimal: only browse_collections, not edit_collections. The fix requires adding #[Locked] to the property and ->authorize('edit_collections') to both delete actions; patched in version 2.9.2.

Affected products

  • Shopper Labs Shopper < 2.9.2

Timeline

  • 2026-09-11: disclosed: Published to GitHub Advisory Database
  • 2026-09-11: patched: Fix released in version 2.9.2

References

Related threats