---
id: "CVE-2026-62989"
kind: "vulnerability"
aliases: ["CVE-2026-62989"]
title: "Shopper admin: staff can delete product variants without permission"
severity: "high"
cvss: 8.1
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["e-commerce", "laravel", "package", "php", "shopper"]
not_affected_if: ["no-staff-with-edit-products-only", "version-2.10.0-or-later"]
published_at: "2026-10-30T21:17:15+00:00"
first_seen_at: "2026-10-30T21:25:54+00:00"
updated_at: "2026-10-30T21:26:36+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-62989", "first_seen_at": "2026-10-30T21:25:54+00:00"}]
---

# Shopper admin: staff can delete product variants without permission

Shopper is a headless e-commerce admin panel package. A staff user who can edit products can permanently delete product variants without the separate delete permission, because the server does not check it.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Shopper version with `composer show laravel-shopper/admin` or in `composer.lock`
- Look for `packages/admin/src/Livewire/Components/Products/Form/Variants.php` and confirm whether `DeleteAction` and `DeleteBulkAction` check `delete_product_variants`
- Review which staff roles hold `edit_products` without `delete_product_variants`

## Fix

- Upgrade Shopper to `2.10.0` or later

## Timeline

- 2026-10-30T21:25:54+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-62989

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
