Skip to main content

Shopper EUVDEUVD-2026-114510

| CVE-2026-62989 HIGH
Improper Authorization (CWE-285)
2026-10-30 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as staff holding only edit_products
  2. Delivery
    Open /shopper/products/{id}/edit, receive signed Livewire snapshot
  3. Exploit
    Invoke callTableAction/callTableBulkAction 'delete' on Livewire endpoint
  4. Execution
    DeleteAction/DeleteBulkAction run with no authorization check
  5. Impact
    Variants permanently deleted, catalogue and checkout disrupted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Shopper admin-panel account that holds the edit_products permission (the content-editor role) but lacks delete_product_variants; the attacker must reach the Livewire endpoint backing /shopper/products/{id}/edit to obtain the signed component state and then call callTableAction('delete',...) or callTableBulkAction('delete',...). The condition is created by Shopper's default seeded permission model, which separates edit_products from delete_product_variants - the flaw is that the parent Edit page only gates on edit_products while the Variants component's delete actions check nothing. Limiting factors: exploitation is impossible without a valid staff login carrying edit_products (no anonymous/unauthenticated path), it affects admin-panel users rather than storefront visitors, and the destructive impact is maximized specifically on ProductType::Variant products; versions 2.10.0 and later enforce delete_product_variants and are not exploitable.

Impact

This is a genuine but bounded access-control flaw (CWE-285/CWE-862, missing server-side authorization). The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H, base 8.1) is internally consistent with the evidence: the Variants Livewire component exposes DeleteAction/DeleteBulkAction over the network with no authorize() call, and exploitation requires an authenticated account (PR:L), so the high score is driven entirely by integrity and availability impact, not by remote unauthenticated reach. The real-world risk is tempered by the privilege requirement: the attacker must already hold a valid staff account with the edit_products permission (a content-editor role), so this is a privilege-boundary violation within the admin panel rather than an external breach - a malicious or compromised low-tier staff account, not an anonymous internet attacker. No EPSS score is supplied and the CVE is not listed in CISA KEV, so there is no signal of widespread or active exploitation; the vuln.today decision label is 'this_week' (not act_now/emergency). The only exploitation artifact is a Pest unit test embedded in the GHSA advisory demonstrating the deletion against Shopper's own test harness - this is a public PoC reference, not verified working exploit code against a live deployment. Net: a real authorization-boundary bug worth patching on the stated this_week cadence, but not a drop-everything internet-facing emergency given the authenticated-insider precondition and absence of KEV/EPSS exploitation signals.

Exploit ScenarioDerived

A disgruntled or compromised content-editor staff account - holding only edit_products and deliberately NOT granted delete_product_variants - opens /shopper/products/{id}/edit to obtain the signed Livewire snapshot for the Variants component, then issues callTableAction('delete', ...) or callTableBulkAction('delete', ...) against the Livewire endpoint to permanently delete one or many product variants. For ProductType::Variant products this wipes the sellable catalogue, breaking storefront product pages, cart, and checkout. A public PoC reference exists in the GHSA advisory (a Pest test); it is not verified as working exploit code against a production instance.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Permanent deletion of product variants in Shopper's admin panel is possible for any authenticated staff member who holds edit_products but not delete_product_variants in versions before 2.10.0, because the Variants Livewire component's single and bulk Filament delete actions perform no server-side authorization check (CWE-285/CWE-862). The parent product edit page gates only on edit_products, so a user can load /shopper/products/{id}/edit, obtain the signed component state, and invoke callTableAction('delete', ...) or callTableBulkAction('delete', ...) against the Livewire endpoint; impact is greatest on ProductType::Variant products, where the sellable catalogue and the storefront product pages, cart and checkout can break. Shopper 2.10.0 adds ->authorize('delete_product_variants') to both actions; a public proof-of-concept test is referenced in the advisory but is not verified as working exploit code, and no CISA KEV entry or confirmed active exploitation is reported.

RemediationAI

Vendor-released patch: upgrade to Shopper 2.10.0 (composer/shopper/framework 2.10.0), which adds ->authorize('delete_product_variants') to both DeleteAction::make() and DeleteBulkAction::make() in packages/admin/src/Livewire/Components/Products/Form/Variants.php, matching the pattern already used for other variant-mutating actions; the change is in PR https://github.com/shopperlabs/shopper/pull/573 and commit 3c814f3b8eaf7cd2296c213bec0ce91e9f92a3f2, with the release at https://github.com/shopperlabs/shopper/releases/tag/v2.10.0 and the advisory at https://github.com/shopperlabs/shopper/security/advisories/GHSA-93v2-gcw2-vfwc. If upgrading immediately is not possible, the interim mitigation is to revoke edit_products from roles that are not intended to delete variants, with the trade-off that those users lose the ability to edit products at all, or to restrict admin-panel accounts holding edit_products to trusted staff and monitor for unexpected variant deletions; neither restores variant deletion control while leaving product editing in place, so the 2.10.0 upgrade is the complete fix.

Affected VersionsENISA

Shopper < 2.10.0

Affected Packages

euvd shopper fix: 2.10.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Shopper is a Laravel-based headless e-commerce admin panel built on Livewire and Filament tables. The affected class is packages/admin/src/Livewire/Components/Products/Form/Variants.php, which renders product variants and exposes DeleteAction and DeleteBulkAction. The parent page Livewire/Pages/Product/Edit.php authorizes edit_products in mount(), but the Variants component itself contains no authorize(), can(), gate or policy call on its delete paths, and the bulk action callback simply executes $records->each->delete(). The dedicated delete_product_variants permission is seeded by Permission::generate('product_variants', 'products') in PermissionsTableSeeder.php but is never enforced on deletion; other variant-mutating actions such as SlideOvers/UpdateVariant.php, SlideOvers/GenerateVariants.php and Components/Products/VariantStock.php do check edit_product_variants. This is CWE-285 (improper authorization) and CWE-862 (missing authorization) in the Livewire/Filament action dispatch layer, where client-invoked table action calls reach model deletion without a server-side permission check. The CPE cpe:2.3:a:shopperlabs:shopper:*:*:*:*:*:*:*:* covers all releases before the 2.10.0 fix.

Know when Shopper gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

Network Livewire endpoint (AV:N), no special trigger conditions (AC:L), requires an authenticated edit_products staff account (PR:L), no user interaction; deletion gives no data disclosure (C:N) but destroys variants (I:H) and disrupts storefront/checkout (A:H).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 23:03 EUVD
CVE Published
Oct 30, 2026 - 21:03 cve.org
HIGH 8.1

DescriptionCVE.org

Shopper is a Headless e-commerce Admin Panel. Prior to 2.10.0, the Variants Livewire component in packages/admin/src/Livewire/Components/Products/Form/Variants.php exposes DeleteAction and DeleteBulkAction without server-side authorization. An authenticated staff user with edit_products can access /shopper/products/{id}/edit and obtain the signed component state even without delete_product_variants. The callTableAction and callTableBulkAction paths then permanently delete individual or multiple variants without checking that dedicated permission. For variant products, this can destroy the sellable catalogue and disrupt storefront product pages, cart, and checkout. This issue is fixed in version 2.10.0.

Technical POC Analysis

CWE-285 (Improper Authorization), with the advisory also tagging CWE-862 (Missing Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity authorization flaw in Shopper's admin panel (versions before 2.10.0) allows any staff member with basic product editing rights to permanently delete product variants without the required delete permission. This enables insider misuse or compromised low-privilege accounts to erase sellable catalogue data, potentially disrupting storefront operations, cart functionality, and checkout for variant-based products. Leadership should prioritize assessment and mitigation due to the direct revenue and operational impact.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
niche open-source Laravel/Livewire e-commerce admin package, limited enterprise footprint
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy