Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-xvhc-gm7j-mhmc

Опубликовано: 04 июн. 2026
Источник: github
Github: Прошло ревью
CVSS3: 4.9

Описание

Shopware: Stored XSS via SVG file upload — no SVG sanitization

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:

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

SVG is whitelisted. The upload path (MediaUploadControllerFileSaverTypeDetector) 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

Пакеты

Наименование

shopware/core

composer
Затронутые версииВерсия исправления

>= 6.7.0.0, < 6.7.10.1

6.7.10.1

Наименование

shopware/core

composer
Затронутые версииВерсия исправления

< 6.6.10.18

6.6.10.18

Наименование

shopware/platform

composer
Затронутые версииВерсия исправления

>= 6.7.0.0, < 6.7.10.1

6.7.10.1

Наименование

shopware/platform

composer
Затронутые версииВерсия исправления

< 6.6.10.18

6.6.10.18

EPSS

Процентиль: 41%
0.00485
Низкий

4.9 Medium

CVSS3

Дефекты

CWE-79

Связанные уязвимости

CVSS3: 4.9
nvd
2 месяца назад

Shopware is an open commerce platform. Prior to 6.6.10.18 and 6.7.10.1, SVG files are in the allowed_extensions whitelist in src/Core/Framework/Resources/config/packages/shopware.yaml and can be uploaded via the media manager without SVG content sanitization in the upload pipeline from MediaUploadController to FileSaver to TypeDetector, allowing malicious SVG JavaScript such as onload, <script>, and <foreignObject> to execute in the Shopware domain when the uploaded SVG is viewed. This issue is fixed in versions 6.6.10.18 and 6.7.10.1.

EPSS

Процентиль: 41%
0.00485
Низкий

4.9 Medium

CVSS3

Дефекты

CWE-79