---
title: "CVE-2026-62990: Shopper - Stored XSS & Privilege Escalation"
description: "Shopper 2.0.0 to < 2.10.1 and 3.0.0-beta.1/beta.2 contain a stored XSS caused by executable media upload with insufficient MIME restrictions, letting authenticated back-office staff with content-upload permission execute scripts in admin sessions, exploit requires the administrator to open the uploaded file."
url: https://panop.io/threat-heartbeat/CVE-2026-62990/
---

# CVE-2026-62990 Shopper - Stored XSS & Privilege Escalation

Shopper 2.0.0 to < 2.10.1 and 3.0.0-beta.1/beta.2 contain a stored XSS caused by executable media upload with insufficient MIME restrictions, letting authenticated back-office staff with content-upload permission execute scripts in admin sessions, exploit requires the administrator to open the uploaded file.

CVSS base score 8.7 /10

High

CISA KEV

Not listed

Public exploit

None known

Authentication

Required

EPSS

0.24% chance of exploitation in 30 days

[View the NVD record ↗](https://nvd.nist.gov/vuln/detail/CVE-2026-62990)

## Details

Type

Stored XSS

Impact

Stored XSS, Privilege Escalation, Information Disclosure

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Published

30 October 2026

Updated

1 November 2026

Weakness

[CWE-79](https://cwe.mitre.org/data/definitions/79.html)

## Vendor fix

Update to versions 2.10.1 or 3.0.0-beta.3 or later.

Patching closes this CVE. It does not tell you which of your systems run the affected version, or what else is exposed alongside them.

## References

- [https://nvd.nist.gov/vuln/detail/CVE-2026-62990](https://nvd.nist.gov/vuln/detail/CVE-2026-62990)
- [https://github.com/shopperlabs/shopper/security/advisories/GHSA-vmvv-x5cp-2qv6](https://github.com/shopperlabs/shopper/security/advisories/GHSA-vmvv-x5cp-2qv6)
- [https://github.com/shopperlabs/shopper/commit/12be681db5f603a364d5f03f1974ff2a20e99b99](https://github.com/shopperlabs/shopper/commit/12be681db5f603a364d5f03f1974ff2a20e99b99)
- [https://github.com/shopperlabs/shopper/commit/ad2c5b9b968ff49c37130c6b9d1dba7f20eebbf6](https://github.com/shopperlabs/shopper/commit/ad2c5b9b968ff49c37130c6b9d1dba7f20eebbf6)
- [https://github.com/shopperlabs/shopper/compare/v3.0.0-beta.1...v3.0.0-beta.3](https://github.com/shopperlabs/shopper/compare/v3.0.0-beta.1...v3.0.0-beta.3)
- [https://github.com/shopperlabs/shopper/pull/595](https://github.com/shopperlabs/shopper/pull/595)
- [https://github.com/shopperlabs/shopper/pull/597](https://github.com/shopperlabs/shopper/pull/597)
- [https://github.com/shopperlabs/shopper/releases/tag/v2.10.1](https://github.com/shopperlabs/shopper/releases/tag/v2.10.1)
- [https://github.com/shopperlabs/shopper/releases/tag/v3.0.0-beta.3](https://github.com/shopperlabs/shopper/releases/tag/v3.0.0-beta.3)

[← All CVEs](https://panop.io/threat-heartbeat/)

## What this record can't tell you

- Whether you run the affected software, and where
- Whether an attacker can actually reach and exploit it
- The misconfigurations that never get a CVE number
- What it would cost the business, ranked into what to fix first

Panop answers these inside your environment, for this CVE and every other finding.

[Book a demo](https://panop.io/demo)
