CVE-2026-120218
LowCVSS 3.5Exploitation Probability (EPSS)
Low risk17th percentile - higher than 17% of all known CVEs
Summary
A flaw was found in Typemill up to 2.26.0 in the ControllerApiImage::saveImage function of system/typemill/Models/SvgSanitizer.php. Manipulating input can lead to cross-site scripting (XSS), and the attack may be performed remotely. The exploit has been published and may be used; upgrading to version 2.27.0 (patch 9ca43c4a7b6764c5a6ac11a2ccc099b036ee3cef) resolves the issue.
Risk Assessment
A remote attacker can inject a malicious script that executes in a user's browser, potentially leading to session or data theft. The public availability of the exploit increases the risk of abuse.
Recommendation
Upgrade Typemill to version 2.27.0 or apply patch 9ca43c4a7b6764c5a6ac11a2ccc099b036ee3cef. Until then, restrict access to the image upload feature and validate uploaded SVG files.
Other vulnerabilities in Typemill
See all- CVE-2026-71213Critical
Typemill's login endpoint (POST /tm/login, ControllerWebAuth::login) performs no rate-limiting, failed-attempt counting, or account lockout when captcha is disabled, which is the default configuration. An unauthenticated attacker can send unlimited password-guessing requests against any account, including administrators, with no throttling.
- CVE-2026-53468Medium
Typemill is a flat-file, Markdown-based content management system designed for informational documentation websites. Versions prior to 2.23.0 are vulnerable to stored HTML attribute injection in the page metadata fields (`og:title` and `og:description`). An authenticated user with permission to modify page metadata can inject arbitrary HTML attributes into generated `<meta>` tags due to missing output encoding. Under certain browser or DOM interaction scenarios, this may lead to stored cross-site scripting (XSS). Version 2.23.0 fixes the issue.
- CVE-2026-71518High
Typemill before 2.26.0 contains an authorization bypass vulnerability in the media file download route that allows unauthenticated attackers to access restricted files by submitting path-equivalent URL variants. Attackers can substitute normalized path forms such as dot-slash prefixes, double slashes, or percent-encoded sequences to pass role-based restriction checks while the filesystem resolves the request to the protected file, enabling unauthorized file download without credentials.
- CVE-2026-49133Medium
Typemill before version 2.24.0 contains a path traversal vulnerability that allows authenticated attackers with Author-level privileges to read arbitrary files outside the content directory by supplying traversal sequences in the path query parameter passed to Storage::getFile() with an empty folder argument. Attackers can bypass traversal-prevention controls in Storage::getFolderPath() to access sensitive files.
Original NVD description (English source)
A flaw has been found in Typemill up to 2.26.0. The impacted element is the function ControllerApiImage::saveImage of the file system/typemill/Models/SvgSanitizer.php. Executing a manipulation can lead to cross site scripting. The attack may be performed from remote. The exploit has been published and may be used. Upgrading to version 2.27.0 is sufficient to resolve this issue. This patch is called 9ca43c4a7b6764c5a6ac11a2ccc099b036ee3cef. It is recommended to upgrade the affected component.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

