CVE-2026-47740
Shopper: Authorization bypass in multiple Livewire admin components
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, Multiple Filament actions on the admin Order detail and Order shipments table were callable by an authenticated low-privilege user without the permission required to mutate orders. The order detail actions cancel, mark paid, mark complete, capture payment, archive, and start processing were callable with the read-only read_orders permission and did not require edit_orders. capturePayment could trigger an actual PSP capture (real funds movement). The order shipments table actions mark delivered and edit tracking were callable with the read-only browse_orders permission. A user with read access to orders could therefore alter the lifecycle of every order in the panel and trigger real-world payment captures. This vulnerability is fixed in 2.8.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.1
Shopper: Authorization bypass in multiple Livewire admin components
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, Multiple Filament actions on the admin Order detail and Order shipments table were callable by an authenticated low-privilege user without the permission required to mutate orders. The order detail actions cancel, mark paid, mark complete, capture payment, archive, and start processing were callable with the read-only read_orders permission and did not require edit_orders. capturePayment could trigger an actual PSP capture (real funds movement). The order shipments table actions mark delivered and edit tracking were callable with the read-only browse_orders permission. A user with read access to orders could therefore alter the lifecycle of every order in the panel and trigger real-world payment captures. This vulnerability is fixed in 2.8.0.
- Record
CVE-2026-47740- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
EUVDEUVD-2026-33410
8.1
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, Multiple Filament actions on the admin Order detail and Order shipments table were callable by an authenticated low-privilege user without the permission required to mutate orders. The order detail actions cancel, mark paid, mark complete, capture payment, archive, and start processing were callable with the read-only read_orders permission and did not require edit_orders. capturePayment could trigger an actual PSP capture (real funds movement). The order shipments table actions mark delivered and edit tracking were callable with the read-only browse_orders permission. A user with read access to orders could therefore alter the lifecycle of every order in the panel and trigger real-world payment captures. This vulnerability is fixed in 2.8.0.
- Record
EUVD-2026-33410- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f946-9qp6-vgch
8.1
shopper/framework: Authorization bypass in multiple Livewire admin components
Impact
Multiple Livewire components in the admin panel allowed an authenticated low-privilege user to mutate data without the required permission:
- Order detail Filament actions (cancel, mark paid, mark complete, capture payment, archive, start processing) were callable with
read_ordersonly and did not requireedit_orders.capturePaymentcould trigger an actual PSP capture. - Order shipments table actions (mark delivered, edit tracking) were callable with
browse_ordersonly. - Sub-form Livewire components for products (Edit, Inventory, Seo, Shipping, Files) had no authorization on
store(), so any authenticated panel user could mutate product data withoutedit_products. Settings/Team/Indexhad nomount()authorization at all — any authenticated user could create roles and delete other users.Settings/Team/RolePermissiongated its write actions on the read-onlyview_userspermission, allowing privilege escalation via the RBAC system itself.PaymentMethods,Currencies,Carrierstable toggles and per-record actions had no per-action permission check.Customers/Create::store()re-passed a Hidden_passwordform field into the create payload.
Several public Eloquent model properties on Livewire components were not #[Locked], allowing client-side ID tampering.
A stored XSS surface existed on the product barcode field, which is rendered through DNS1DFacade::getBarcodeHTML() with {!! !!}.
Patches
Fixed in v2.8.0. Upgrade via:
composer require shopper/admin:^2.8 shopper/cart:^2.8 shopper/core:^2.8
php artisan migrate
Workarounds
None. Upgrade to v2.8.0.
Resources
- Pull request: https://github.com/shopperlabs/shopper/pull/511
- CWE-862 Missing Authorization
- CWE-285 Improper Authorization
- Record
GHSA-f946-9qp6-vgch- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
NVD
8.1
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, Multiple Filament actions on the admin Order detail and Order shipments table were callable by an authenticated low-privilege user without the permission required to mutate orders. The order detail actions cancel, mark paid, mark complete, capture payment, archive, and start processing were callable with the read-only read_orders permission and did not require edit_orders. capturePayment could trigger an actual PSP capture (real funds movement). The order shipments table actions mark delivered and edit tracking were callable with the read-only browse_orders permission. A user with read access to orders could therefore alter the lifecycle of every order in the panel and trigger real-world payment captures. This vulnerability is fixed in 2.8.0.
- Record
CVE-2026-47740- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
OSV
8.1
Shopper: Authorization bypass in multiple Livewire admin components
Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, Multiple Filament actions on the admin Order detail and Order shipments table were callable by an authenticated low-privilege user without the permission required to mutate orders. The order detail actions cancel, mark paid, mark complete, capture payment, archive, and start processing were callable with the read-only read_orders permission and did not require edit_orders. capturePayment could trigger an actual PSP capture (real funds movement). The order shipments table actions mark delivered and edit tracking were callable with the read-only browse_orders permission. A user with read access to orders could therefore alter the lifecycle of every order in the panel and trigger real-world payment captures. This vulnerability is fixed in 2.8.0.
- Record
CVE-2026-47740- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
OSVGHSA-f946-9qp6-vgch
8.1
shopper/framework: Authorization bypass in multiple Livewire admin components
Impact
Multiple Livewire components in the admin panel allowed an authenticated low-privilege user to mutate data without the required permission:
- Order detail Filament actions (cancel, mark paid, mark complete, capture payment, archive, start processing) were callable with
read_ordersonly and did not requireedit_orders.capturePaymentcould trigger an actual PSP capture. - Order shipments table actions (mark delivered, edit tracking) were callable with
browse_ordersonly. - Sub-form Livewire components for products (Edit, Inventory, Seo, Shipping, Files) had no authorization on
store(), so any authenticated panel user could mutate product data withoutedit_products. Settings/Team/Indexhad nomount()authorization at all — any authenticated user could create roles and delete other users.Settings/Team/RolePermissiongated its write actions on the read-onlyview_userspermission, allowing privilege escalation via the RBAC system itself.PaymentMethods,Currencies,Carrierstable toggles and per-record actions had no per-action permission check.Customers/Create::store()re-passed a Hidden_passwordform field into the create payload.
Several public Eloquent model properties on Livewire components were not #[Locked], allowing client-side ID tampering.
A stored XSS surface existed on the product barcode field, which is rendered through DNS1DFacade::getBarcodeHTML() with {!! !!}.
Patches
Fixed in v2.8.0. Upgrade via:
composer require shopper/admin:^2.8 shopper/cart:^2.8 shopper/core:^2.8
php artisan migrate
Workarounds
None. Upgrade to v2.8.0.
Resources
- Pull request: https://github.com/shopperlabs/shopper/pull/511
- CWE-862 Missing Authorization
- CWE-285 Improper Authorization
- Record
GHSA-f946-9qp6-vgch- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-285, CWE-862
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
shopper/frameworkPackagist |
before 2.8.0 | 2.8.0 |
shopper/frameworkPackagist |
before 2.8.0, plus listed versions v2.0.0v2.0.0-alphav2.0.0-betav2.0.0-beta10v2.0.0-beta11 Show 45 moreShow lessv2.0.0-beta12v2.0.0-beta13v2.0.0-beta14v2.0.0-beta15v2.0.0-beta16v2.0.0-beta17v2.0.0-beta18v2.0.0-beta19v2.0.0-beta2v2.0.0-beta20v2.0.0-beta21v2.0.0-beta3v2.0.0-beta4v2.0.0-beta5v2.0.0-beta6v2.0.0-beta7v2.0.0-beta8v2.0.0-beta9v2.0.1v2.0.2v2.0.3v2.1.1v2.1.2v2.1.3v2.1.4v2.1.5v2.1.6v2.2v2.2.1v2.2.2v2.2.3v2.2.4v2.2.5v2.2.6v2.2.7v2.3v2.3.1v2.3.2v2.3.3v2.4.0v2.4.1v2.4.2v2.4.3v2.5.0v2.5.1 |
2.8.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-47740 is a high vulnerability (CVSS 8.1) in Shopperdotcom Shopper, published May 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.26%, the 17th percentile. Fixed in shopper/framework 2.8.0.
References
github.com/shopperlabs/shopper/security/advisories/GHSA-f946-9qp6-vgch
github.com/shopperlabs/shopper/pull/511
github.com/shopperlabs/shopper/issues/510
github.com/shopperlabs/shopper/commit/fcd0c5920588702df5b874f432b1042abd77a50b
github.com/shopperlabs/shopper/releases/tag/v2.8.0
nvd.nist.gov/vuln/detail/CVE-2026-47740
github.com/advisories/GHSA-f946-9qp6-vgch
github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47740.json
github.com/shopperlabs/shopper
Left out here: 9 versions. The JSON record has them.