TypiCMS Core has Stored Cross-Site Scripting (XSS) via SVG File Upload
Date: 2026-02
Affected: composer/typicms/core
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2026-27621
CWE: CWE-79

#### I. Summary A Stored Cross-Site Scripting (XSS) vulnerability exists in the file upload module of TypiCMS. The application allows users with file upload permissions to upload SVG files. While there is a MIME type validation, the content of the SVG file is not sanitized. An attacker can upload a specially crafted SVG file containing malicious JavaScript code. When another user (such as an administrator) views or accesses this file through the application, the script executes in their browser, leading to a compromise of that user's session. The issue is exacerbated by a bug in the SVG parsing logic, which can cause a 500 error if the uploaded SVG does not contain a `viewBox` attribute. However, this does not mitigate the XSS vulnerability, as an attacker can easily include a valid `viewBox` attribute in their malicious payload. #### II. Vulnerability Details * **Vulnerability Type:** Stored Cross-Site Scripting (XSS) (CWE-79) * **Affected Component:** `TypiCMS\Modules\Core\Http\Requests\FileFormRequest.php` and `TypiCMS\Modules\Core\Services\FileUploader.php`. * **Affected Versions:** <= 16.0.5 The vulnerability stems from two main points: 1. **Permissive File Validation:** The `FileFormRequest` explicitly whitelists `svg` as an allowed MIME type for uploads. 2. **Lack of Content Sanitization:** The `FileUploader` service saves the SVG file to the server without parsing and sanitizing its content to remove potentially malicious elements like `<script>` tags or


Mitigations:

Architectural layers (MAESTRO):