
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-56827 is an authorization bypass vulnerability in the shopper/framework Composer package (Shopper e-commerce admin) affecting all versions prior to 2.9.2. Five Filament groupedBulkActions blocks across Shopper admin Livewire pages omit the ->authorize(...) permission gate, allowing a low-privilege staff user with only read (browse_*) permissions to invoke state-mutating bulk operations they were never granted. The vulnerability was originally reported by Vishal Shukla (@shukla304) via sechub.dev AI Agent, first published June 22, 2026, and added to the GitHub Advisory Database on September 11, 2026. It carries a CVSS v3.1 base score of 8.1 (High) (GitHub Advisory, Shopper Advisory).
The root cause is CWE-862 (Missing Authorization) / CWE-285 (Improper Authorization): five groupedBulkActions definitions in Shopper's Filament 4 admin pages lack the ->authorize(...) chain that is correctly applied to per-record sibling actions and other index pages. The affected files are Pages/Attribute/Browse.php, Pages/Tag/Index.php, Pages/Brand/Index.php, Pages/Category/Index.php, and Pages/Supplier/Index.php. Each page's mount() method enforces only the corresponding browse_* read permission, so an attacker authenticates as a low-privilege staff user and directly invokes the Livewire callTableBulkAction endpoint — the same HTTP-level flow the browser uses — bypassing the write-permission check entirely. This is the same vulnerability class as prior Shopper advisories GHSA-f946-9qp6-vgch and GHSA-j328-xmgp-j4q3, applied to a different code surface (Filament 4 grouped bulk actions vs. top-level Livewire methods) (GitHub Advisory).
A browse_attributes-only staff user can permanently delete every product attribute in the catalog, which cascades via the attribute_product pivot to break every dependent product variant. A browse_tags-only user can permanently delete every ProductTag row. Users holding browse_brands, browse_categories, or browse_suppliers can bulk-toggle the is_enabled flag on every brand, category, or supplier, effectively removing entire catalog sections from the storefront. There is no confidentiality impact, but integrity and availability impacts are both rated High — a single low-privilege insider or compromised staff account can cause irreversible data loss and complete storefront disruption (GitHub Advisory, Shopper Advisory).
A proof-of-concept (PoC) test suite (tests/Admin/Livewire/Pages/Brand/AuthBypassPocTest.php) was included in the advisory and confirmed passing against master commit ac9a760, demonstrating all seven attack scenarios with 32 assertions. No in-the-wild exploitation has been reported, and the CVE status remains "Reserved" with no CISA KEV listing or EPSS score published at this time. The attack requires only a valid low-privilege staff account (network-accessible, no user interaction, low complexity), making it straightforward for any insider or attacker who has obtained a browse_* credential (GitHub Advisory).
browse_* permission (e.g., browse_attributes, browse_tags, browse_brands, browse_categories, or browse_suppliers) — no elevated privileges are required.browse_* permission.callTableBulkAction request targeting the unguarded DeleteBulkAction or BulkAction (enabled/disabled). Using the Livewire test helper or a browser with developer tools, send the payload:Livewire::test(AttributeBrowse::class)
->callTableBulkAction(\Filament\Actions\DeleteBulkAction::class, [/* all record IDs */])is_enabled flag toggled — achievable in a single request covering all records in the table (GitHub Advisory)./attributes, /tags, /brands, /categories, or /suppliers pages originating from accounts with only browse_* permissions; bulk action payloads in Livewire update requests containing large arrays of record IDs.callTableBulkAction calls (e.g., DeleteBulkAction, enabled, disabled) from low-privilege staff users on the five affected pages; repeated requests selecting all record IDs in a single payload.attributes, product_tags, or related pivot tables; bulk is_enabled flag changes across all brands, categories, or suppliers records within a short time window, especially outside normal business hours.Upgrade shopper/framework to version 2.9.2 or later, which adds the missing ->authorize(...) chains to all five affected groupedBulkActions blocks. The fix mirrors the pattern already correctly applied in Pages/Settings/Currencies.php, Pages/Reviews/Index.php, Pages/Collection/Index.php, and Pages/Discount/Index.php. No configuration-based workaround is available; the only remediation is upgrading to the patched version. As an interim measure, administrators should audit staff role assignments and remove browse_* permissions from any accounts that do not require them until the upgrade is applied (GitHub Advisory, Shopper Advisory).
The vulnerability was reported by Vishal Shukla (@shukla304) using the sechub.dev AI Agent, highlighting the growing role of AI-assisted security research in discovering authorization drift in open-source projects. The Shopper maintainer (mckenziearts) published the advisory and patch promptly. No broader media coverage or notable community commentary beyond the GitHub advisory thread has been identified at this time (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."