| Title | Total.js CMS 10 Open Redirect |
|---|
| Description | Total.js Flow v10 (Flow 1.0.0, Total.js v5012) is vulnerable to an open redirect. The upload endpoint /admin/upload/ accepts SVG files containing malicious attributes. An attacker can submit an SVG with an onload event that, when the file is later accessed in a browser, triggers an automatic redirect to an external domain controlled by the attacker. This is a stored open-redirect because the malicious content persists on the server and is served to users.
PoC:
Authenticate to the application.
Send a multipart upload to http://localhost:8000/admin/upload/ replacing the file body with the following payload:
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" onload="window.location='https://evil.com/'"></svg>
Confirm the request is accepted and the file is stored.
Access the uploaded file (for example via the admin files list or http://localhost:8000/admin/files/), or click the download link created by the application. When the SVG is rendered inline by the browser, it will redirect automatically to https://evil.com/, demonstrating an open redirect. |
|---|
| Source | ⚠️ http://localhost:8000/admin/upload/ |
|---|
| User | Edcarlos (UID 53778) |
|---|
| Submission | 09/30/2025 05:01 (7 months ago) |
|---|
| Moderation | 10/12/2025 08:30 (12 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 328072 [Total.js Flow up to 673ef9144dd25d4f4fd4fdfda5af27f230198924 SVG File unrestricted upload] |
|---|
| Points | 20 |
|---|