CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-27621

mediumcovered by 1 sourcefirst seen 2026-02-25
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 on* event handlers. When the default filesystem disk is set to public, the uploaded SVG file is stored in a publicly accessible directory, making it trivial to access the file via a direct URL and trigger the XSS payload. III. Proof of Concept (PoC) 1. Create a Malicious SVG File: Create a file named malicious.svg with the following content. The viewBox attribute is included to bypass the application's parsing bug. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <script> // A simple PoC to demonstrate the vulnerability alert('XS

⚡ Watch CVE-2026-27621

Get an email if CVE-2026-27621 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Exploitation outlook

Advisory coverage (1)

External references

NVD record for CVE-2026-27621

CVE.org record

Embed the live status

CVE-2026-27621 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-27621 status](https://www.csirts.com/badge/CVE-2026-27621)](https://www.csirts.com/cve/CVE-2026-27621)