# GHSA-9v82-vcjx-m76j: Shopware: Reflective Cross Site-Scripting (XSS) in CMS components

> Attackers can inject malicious scripts via URL parameters to steal session cookies and admin tokens, requiring user interaction to execute.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 10 Sep 2025

## What is GHSA-9v82-vcjx-m76j?

GHSA-9v82-vcjx-m76j is a cross-site scripting vulnerability in shopware/core, published on 10 Sep 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

### Official description

### Impact
By exploiting XSS vulnerabilities, malicious actors can perform harmful actions in the user's web browser in the session context of the affected user. 

Some examples of this include, but are not limited to:
- Obtaining user session tokens.
- Performing administrative actions (when an administrative user is affected).

These vulnerabilities pose a high security risk. Since a sensitive cookie is not configured with the HttpOnly attribute and administrator JWTs are stored in sessionStorage, any successful XSS attack could enable the theft of session cookies and administrative tokens.

#### Description
When an application uses input fields, it is important that user input is adequately filtered for malicious HTML and JavaScript characters. When adequate input validation is not applied, Cross-Site Scripting (XSS) vulnerabilities may arise. These allow malicious actors to inject malicious code into application pages. When a user visits the page, the code is executed in the user's web browser. This allows malicious actors to perform malicious actions in the name of that user. XSS can be divided into three variants: Persistent XSS, Reflective XSS and DOM-based XSS. In Reflective XSS, a malicious actor injects malicious JavaScript code into a URL. Every time the user visits this URL, the JavaScript code is executed in the user’s browser.

#### Applicability 
Due to a lack of input validation, the Shopware application contain XSS vulnerabilities. The JavaScript variable 'activeRouteParameters' lacks input validation, which makes it vulnerable to XSS attacks at the following endpoints:

- /page/cms/*
- /widget/cms/*

The lack of input validation enables malicious actors to inject harmful JavaScript-code into the affected pages. When a user visits the page, the code is executed within the user’s web browser. This enables malicious actors to perform (harmful) actions on behalf of the affected user. No user account is required to exploit this vulnerability.

#### Reproduction
To reproduce this vulnerability, the steps below can be followed.
1. Navigate to the URL below containing the XSS payload:
https://pentest-saas-2025-2.shopware.store/page/cms/'+alert('REQON')+'
2. Observe that a pop-up is shown indicating that the JavaScript code has been executed.

#### Workarounds
For older versions of 6.7, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version.

## Which versions are affected by GHSA-9v82-vcjx-m76j?

4 open source packages ship an affected version, including shopware/core and shopware/shopware.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `shopware/core` | Packagist | From 6.7.0.0 | 6.7.2.1 |
| `shopware/core` | Packagist | From 6.7.0.0 | 6.7.2.1 |
| `shopware/shopware` | Packagist | From 6.7.0.0 | 6.7.2.1 |
| `shopware/shopware` | Packagist | From 6.7.0.0 | 6.7.2.1 |

## How do I fix GHSA-9v82-vcjx-m76j?

Upgrade shopware/core to 6.7.2.1 or later.

## Is GHSA-9v82-vcjx-m76j being exploited?

There is no known exploitation of GHSA-9v82-vcjx-m76j in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for GHSA-9v82-vcjx-m76j and fix it if it is affected.

What it is: GHSA-9v82-vcjx-m76j is a cross-site scripting vulnerability in shopware/core, published on 10 Sep 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of GHSA-9v82-vcjx-m76j in the wild and no public exploit code.

Affected packages and fixed versions:
- shopware/core (Packagist): affected from 6.7.0.0; fixed in 6.7.2.1
- shopware/core (Packagist): affected from 6.7.0.0; fixed in 6.7.2.1
- shopware/shopware (Packagist): affected from 6.7.0.0; fixed in 6.7.2.1
- shopware/shopware (Packagist): affected from 6.7.0.0; fixed in 6.7.2.1

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/GHSA-9v82-vcjx-m76j/ (Markdown: https://insights.sbomify.com/GHSA-9v82-vcjx-m76j/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/GHSA-9v82-vcjx-m76j

---
From sbomify Insights: https://insights.sbomify.com/GHSA-9v82-vcjx-m76j/
Summaries are generated and may contain mistakes; the official description above is the record.
