# CVE-2026-56830: Shopper Media component missing authorization in store()

Source: https://junglewise.ai/threats/cve-2026-56830-shopper-media-component-missing-authorization-in-store  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-15. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-56830 · Severity: medium · CVSS 6.5 · Published 2026-09-15

Shopper is a Laravel-based e-commerce product management framework. The Media component handles product image uploads and gallery management in the admin panel. Due to a missing authorization check, staff members with read-only product access can modify product images and thumbnails, allowing defacement or substitution of product photos without proper audit trails or permission validation.

Technologies: [shopper/framework (Packagist)](https://junglewise.ai/threats/technologies/shopper-framework). Vendors: [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-56830 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-56830 being exploited in the wild.

**How severe is CVE-2026-56830?** Medium severity, with a CVSS score of 6.5, published 15 September 2026.

**Which products and versions are affected?** shopper/framework (Packagist) < 2.9.2, ECOSYSTEM:introduced=0,fixed=2.9.2.

**Is there a fix for CVE-2026-56830?** Yes. shopper/framework (Packagist): upgrade to 2.9.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-56830 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-56830?** Check whether you run shopper/framework (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- shopper/framework (Packagist): upgrade to 2.9.2 or later

  ```sh
  composer require shopper/framework:^2.9.2
  ```


## Technical details

A missing $this->authorize('edit_products') call in the Media.php store() method (lines 64–76) allows privilege escalation via Livewire RPC. The vulnerable component accepts authenticated requests from staff holding browse_products permission and updates product media fields via $this->product->update($this->form->getState()) without verifying edit_products capability. Although the $product property is server-side locked (preventing arbitrary product targeting), the permission gate is entirely absent. An attacker must be an authenticated admin-panel user and must have previously loaded the target product's edit page in their session (to capture the Livewire snapshot), but the exploit itself is trivial: a single POST to /shopper/livewire/update with the stored snapshot and a call to store(). This is a regression from an incomplete prior patch (GHSA-h4mp-g9c6-xwph) that fixed five sibling sub-form components but omitted Media from the remediation list.

## Affected products

- ShopperLabs Shopper < 2.9.2

## Identifiers

- CVE-2026-56830
- GHSA-99h5-jhh7-v3r3

## Timeline

- 2026-06-22: disclosed: Vulnerability published by ShopperLabs on GitHub
- 2026-09-11: advisory: GitHub Advisory Database entry created (GHSA-99h5-jhh7-v3r3)
- 2.9.2: patched: Fix released in version 2.9.2 (adds authorize() call)

## References

- [https://github.com/shopperlabs/shopper/security/advisories/GHSA-99h5-jhh7-v3r3](https://github.com/shopperlabs/shopper/security/advisories/GHSA-99h5-jhh7-v3r3)
- [https://api.github.com/repos/shopperlabs/shopper/security-advisories/GHSA-99h5-jhh7-v3r3](https://api.github.com/repos/shopperlabs/shopper/security-advisories/GHSA-99h5-jhh7-v3r3)

## Related threats

- [Shopper privilege escalation via improper Livewire authorization](https://junglewise.ai/threats/cve-2026-56828-shopper-privilege-escalation-via-improper-livewire-authorization)
- [Shopper Framework missing authorization in Settings components](https://junglewise.ai/threats/cve-2026-56826-shopper-framework-missing-authorization-in-settings-components)
- [Shopper Framework negative discount validation bypass](https://junglewise.ai/threats/cve-2026-56831-shopper-framework-negative-discount-validation-bypass)
- [Shopper VariantStock missing authorization and unlocked property](https://junglewise.ai/threats/cve-2026-56829-shopper-variantstock-missing-authorization-and-unlocked-property)
- [Shopper authorization bypass in Filament bulk actions](https://junglewise.ai/threats/cve-2026-56827-shopper-authorization-bypass-in-filament-bulk-actions)
