View Issue Details

IDProjectCategoryView StatusLast Update
0007937OXID eShop (all versions)4.04. Securitypublic2026-05-27 10:01
Reportermichael_keiluweit Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version7.5.0 
Fixed in Version7.4.1 
Summary0007937: Stored XSS via SVG upload in media-library-module (executes on direct SVG URL)
DescriptionMedia library accepts `.svg` uploads without sanitization. Direct request to the stored SVG is served as `image/svg+xml`, executing embedded `<script>` in the shop origin.

Expected
Reject upload, sanitize content, or serve with non-active content type / `Content-Disposition: attachment`.

Actual
Browser executes the embedded JavaScript in the shop's origin (cookie / session accessible).

Impact
Anyone with upload access can host JS on a shop URL. A victim following the link executes the script under the shop origin -> session theft, authenticated actions.
Steps To Reproduce1. Log in to admin backend.
2. Open Media library and upload an SVG containing `<script>alert(document.cookie)</script>`. (see attachement)
3. Upload returns `{"success": true}`; file stored at `out/pictures/ddmedia/<file>.svg`.
4. Open `https://<shop>/out/pictures/ddmedia/<file>.svg` in the browser.
Additional InformationOnly the direct-URL vector was reproduced. Embedding via WYSIWYG or media-library thumbnails did not trigger the script (both use `<img>`, which does not execute SVG scripts).
TagsNo tags attached.
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities

There are no notes attached to this issue.