CVE-2026-24127

5.4 MEDIUM

📋 TL;DR

A reflected Cross-Site Scripting (XSS) vulnerability exists in Typemill CMS versions 2.19.1 and below, allowing attackers to inject malicious scripts via the login page when authentication fails. This affects all Typemill installations running vulnerable versions, potentially compromising user sessions and browser security. The vulnerability is exploitable through the login error view template where username input isn't properly encoded.

💻 Affected Systems

Products:
  • Typemill CMS
Versions: 2.19.1 and below
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations of affected versions are vulnerable. The vulnerability is in the login.twig template file.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, perform actions as authenticated users, redirect users to malicious sites, or install malware through the compromised login page.

🟠

Likely Case

Session hijacking of users who visit a maliciously crafted login URL, potentially leading to unauthorized access to the CMS admin interface.

🟢

If Mitigated

With proper input validation and output encoding, the attack would fail to execute scripts, limiting impact to failed login attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires tricking users into visiting a specially crafted login URL. No authentication is needed to trigger the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.19.2

Vendor Advisory: https://github.com/typemill/typemill/security/advisories/GHSA-65x4-pjhj-r8wr

Restart Required: No

Instructions:

1. Backup your Typemill installation. 2. Download version 2.19.2 from GitHub releases. 3. Replace the existing installation files with the new version. 4. Clear any cached templates if using template caching.

🔧 Temporary Workarounds

Manual template patching

all

Manually apply the fix to the vulnerable login.twig template by adding proper output encoding for the username variable.

Edit the login.twig template file and ensure username output uses proper Twig escaping: {{ username|e }}

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with XSS protection rules to block malicious payloads.
  • Restrict access to the login page to trusted IP addresses only using network controls.

🔍 How to Verify

Check if Vulnerable:

Check your Typemill version. If it's 2.19.1 or below, you are vulnerable. Examine the login.twig template for proper output encoding of the username variable.

Check Version:

Check the version.txt file in your Typemill installation directory or view the admin panel version information.

Verify Fix Applied:

After updating to 2.19.2, verify that the login.twig template properly encodes the username output using {{ username|e }} or equivalent escaping.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed login attempts with unusual username parameters containing script tags or JavaScript code
  • HTTP requests to login page with suspicious query parameters

Network Indicators:

  • HTTP requests containing script tags or JavaScript in username parameter to login endpoint

SIEM Query:

source="web_logs" AND uri_path="/login" AND (username="*<script>*" OR username="*javascript:*")

🔗 References

📤 Share & Export