Skip to main content

Shopware CVE-2026-48015

| EUVDEUVD-2026-45238 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-04 https://github.com/shopware/shopware GHSA-xvhc-gm7j-mhmc
4.9
CVSS 3.1 · Vendor: https://github.com/shopware/shopware
View

Attack ChainAIDerived

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

  1. Recon
    Obtain or compromise Shopware admin credentials
  2. Delivery
    Authenticate to Shopware admin panel
  3. Exploit
    Upload malicious SVG via media manager
  4. Install
    SVG stored without sanitization on Shopware origin
  5. C2
    Victim accesses SVG URL or page embedding it
  6. Execute
    JavaScript executes in Shopware domain context
  7. Impact
    Exfiltrate session tokens or trigger authenticated admin API calls

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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

Exploitation Conditions

Exploitation requires an authenticated Shopware admin account - the CVSS vector PR:H confirms high-privilege authentication is mandatory. The attack leverages the default Shopware configuration where SVG is included in the allowed_extensions whitelist in shopware.yaml (line 194); no non-default configuration is required. For payload delivery the attacker needs access to the admin media manager (/admin#/sw/media/index), which is restricted to admin panel users. Exploitation is limited by the requirement for admin credentials, meaning threat scenarios include insider threats, compromised admin accounts, or phishing of admin users. A secondary limiting condition is that a victim must access the uploaded SVG URL (or a page embedding it) for the stored XSS payload to execute. The CVSS UI:N scoring conflicts with this requirement - defenders should treat this as a UI:R scenario pending vendor clarification, which would reduce the realistic exploitation surface.

Impact

The CVSS 3.1 base score of 4.9 (Medium) reflects the high privileges prerequisite (PR:H - admin account required) as the primary risk limiter, combined with a High confidentiality impact (C:H) and unchanged scope (S:U). The AV:N/AC:L components confirm network-based exploitation with low attack complexity once admin access is obtained. A notable scoring discrepancy exists: the CVSS vector specifies UI:N (no user interaction), which is atypical for stored XSS where payload execution generally requires a victim to access the malicious resource - this may reflect a scenario where the SVG is embedded in a page that auto-loads it, or may represent an error in the CVSS scoring that defenders should verify against the vendor advisory. Additionally, the integrity impact is scored I:N despite the description explicitly noting potential admin account takeover and malicious plugin installation, suggesting the CVSS score may understate real-world impact. No EPSS data was provided in the intelligence input. The vulnerability is not in CISA KEV and no public exploit code has been identified at time of analysis, making this a lower-urgency remediation item unless admin credentials are at elevated risk of compromise in the target environment.

Exploit ScenarioDerived

An attacker who has obtained or holds a Shopware admin account crafts an SVG file containing a JavaScript payload via an onload event handler or embedded script tag, then uploads it through the media manager interface, which accepts it without sanitization. Any user - including other admins or customers - whose browser renders the SVG inline (e.g., via a direct URL or embedded in a storefront page) triggers the script execution in the Shopware origin context, allowing the attacker to steal session cookies, exfiltrate customer data, or invoke authenticated admin API calls to install a malicious plugin. No public exploit code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 04, 2026

Stored cross-site scripting in Shopware's media manager allows any authenticated admin to upload an unsanitized SVG file containing arbitrary JavaScript that executes in the Shopware domain context when the file is accessed by any user. The upload pipeline - spanning MediaUploadController, FileSaver, and TypeDetector - classifies SVG as a valid ImageType with VECTOR_GRAPHIC flag but performs zero content sanitization: no DOMPurify, no enshrined/svg-sanitize, no strip_tags on SVG XML content. In an e-commerce context this enables admin account takeover, customer data exfiltration, and malicious plugin installation. No public exploit identified at time of analysis and this vulnerability is not listed in CISA KEV.

RemediationAI

Upgrade shopware/core and shopware/platform to version 6.6.10.18 (for 6.6.x deployments) or 6.7.10.1 (for 6.7.x deployments) - these are vendor-released patches confirmed by GitHub release tags at https://github.com/shopware/shopware/releases/tag/v6.6.10.18 and https://github.com/shopware/shopware/releases/tag/v6.7.10.1. If immediate upgrade is not feasible, three workarounds exist with distinct trade-offs: (1) Remove SVG from the allowed_extensions list in shopware.yaml - eliminates the attack surface entirely but breaks any store functionality relying on SVG image uploads; (2) Configure the web server to serve files under the media directory with the Content-Disposition: attachment header for SVG MIME types - forces downloads rather than inline rendering, preventing XSS execution, but disrupts legitimate SVG display use cases; (3) Restrict the media manager to highly trusted admin accounts only via ACL configuration - reduces exposure but does not eliminate it since the vulnerability requires only standard admin access. Adding the enshrined/svg-sanitize Composer library (already used by WordPress) for upload-time sanitization is noted as the most practical long-term fix per the advisory author.

Affected VersionsENISA

platform 6.7.0.0, < 6.7.10.1
shopware 6.7.0.0, < 6.7.10.1
platform < 6.6.10.18
shopware < 6.6.10.18

Affected Packages

composer shopware/core fix: 6.6.10.18, 6.7.10.1
composer shopware/platform fix: 6.6.10.18, 6.7.10.1
euvd platform fix: 6.6.10.18, 6.7.10.1
euvd shopware fix: 6.6.10.18, 6.7.10.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in composer, euvd

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

Technical ContextAI · show details

SVG is an XML-based image format that the W3C specification allows to embed JavaScript via inline event handlers (onload, onmouseover), script elements, and foreignObject tags. Shopware (PHP, Composer packages shopware/core and shopware/platform) whitelists SVG in src/Core/Framework/Resources/config/packages/shopware.yaml at line 194 under allowed_extensions. The upload processing chain recognizes the format as a legitimate image type but lacks any XML parsing or sanitization step that would strip executable content before persisting the file. CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting) is the root cause class: user-controlled data (SVG XML content) reaches the browser without sanitization, enabling stored script injection. Affected Composer packages are shopware/core and shopware/platform covering both the 6.6.x and 6.7.x release branches.

Know when Nextcloud 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 (https://github.com/shopware/shopware) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N

Primary rating from Vendor (https://github.com/shopware/shopware) · only source for this CVE.

CVSS VectorVendor: https://github.com/shopware/shopware

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

DescriptionCVE.org

SVG files are in the allowed_extensions whitelist and can be uploaded by any admin user via the media manager. There is zero SVG content sanitization anywhere in the upload pipeline. A malicious SVG with JavaScript (onload, <script>, <foreignObject>) executes in the context of the Shopware domain when accessed.

The Problem

In src/Core/Framework/Resources/config/packages/shopware.yaml, line 194:

yaml
allowed_extensions: ["jpg", "jpeg", "png", "webp", "avif", "gif", "svg", ...]

SVG is whitelisted. The upload path (MediaUploadController → FileSaver → TypeDetector) recognizes SVG as ImageType with VECTOR_GRAPHIC flag, but no code strips JavaScript, event handlers, or external entity references from the SVG XML.

A search of the entire codebase for SVG sanitization returns - no DOMPurify, no svg-sanitize, no strip_tags on SVG content, nothing.

Impact

Stored XSS affecting all users who view the uploaded SVG. In an e-commerce context, this can lead to admin account takeover, customer data theft, or malicious plugin installation.

Suggested Fix

Either:

  1. Remove SVG from allowed_extensions if SVG upload is not a core requirement
  2. Sanitize SVG content on upload using a library like enshrined/svg-sanitize (strips scripts, event handlers, external references)
  3. Serve SVGs with Content-Disposition: attachment to prevent inline rendering
  4. Serve SVGs from a separate domain (like Nextcloud's usercontent.apps.nextcloud.com)

Option 2 is the most practical - enshrined/svg-sanitize is already used by WordPress and other PHP projects.

Regards & BG, Keyvan Hardani

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Threat Intel
1
1 source
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2023-26482 HIGH POC
8.8 Mar 30

Nextcloud server is an open source home cloud implementation. Rated high severity (CVSS 8.8), this vulnerability is remo

CVE-2020-8180 CRITICAL POC
9.9 Jun 08

A too lax check in Nextcloud Talk 6.0.4, 7.0.2 and 8.0.7 allowed a code injection when a not correctly sanitized talk co

CVE-2023-48306 CRITICAL POC
9.8 Nov 21

Nextcloud Server provides data storage for Nextcloud, an open source cloud platform. Rated critical severity (CVSS 9.8),

CVE-2026-110447 CRITICAL POC
9.2 Oct 14

Unauthenticated OS command injection in the Collabora Online Built-in CODE Server Nextcloud app (richdocumentscode) befo

CVE-2026-55640 CRITICAL POC
9.1 Aug 25

Unauthenticated vector-store tampering in Nextcloud MCP Server before 0.117.2 lets any network attacker who can reach th

CVE-2016-9463 HIGH POC
8.1 Mar 28

Nextcloud Server before 9.0.54 and 10.0.1 & ownCloud Server before 9.1.2, 9.0.6, and 8.2.9 suffer from SMB User Authenti

CVE-2023-31128 HIGH POC
8.8 May 26

NextCloud Cookbook is a recipe library app. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,

CVE-2023-28643 HIGH POC
8.8 Mar 30

Nextcloud server is an open source home cloud implementation. Rated high severity (CVSS 8.8), this vulnerability is remo

CVE-2021-22879 HIGH POC
8.8 Apr 14

Nextcloud Desktop Client prior to 3.1.3 is vulnerable to resource injection by way of missing validation of URLs, allowi

CVE-2019-12739 HIGH POC
8.8 Jun 05

lib/Controller/ExtractionController.php in the Extract add-on before 1.2.0 for Nextcloud allows Remote Code Execution vi

CVE-2026-22683 HIGH POC
8.7 Apr 07

Authorization bypass in Windmill 1.56.0-1.614.0 enables Operator role users to escalate privileges to remote code execut

CVE-2020-8259 HIGH POC
8.1 Nov 16

Insufficient protection of the server-side encryption keys in Nextcloud Server 19.0.1 allowed an attacker to replace the

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