Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit comment via public form
-
DeliveryInject payload in website/email field
-
ExploitComment stored, awaits moderation
-
ExecutionModerator opens backend Comments module
-
ImpactScript runs in admin session, hijacks backend
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 | Requires the comments-bundle feature to be in use with a public-facing comment form that accepts unauthenticated submissions (the entry point for the stored payload). Exploitation completes only when a backend user with access to the Comments module opens it to review submissions - the attacker cannot self-trigger execution (UI:R). Notably, moderation is NOT a mitigating control: unpublished/pending comments are still rendered to moderators, so an unapproved malicious comment still fires. Limiting factors: affected versions are 4.0.0 through pre-5.3.50 and pre-5.7.12; the site must expose comment functionality; and a privileged backend user must view the module for the payload to run in their session. |
| Impact | This is a genuine high-priority issue, not merely a high-CVSS paper risk. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N, 9.3 Critical) is internally consistent with the description: an unauthenticated remote attacker (PR:N) can plant a stored XSS payload via a public comment form with low complexity (AC:L), and the scope change (S:C) reflects script executing in the privileged Contao backend origin under a moderator/admin session, justifying C:H/I:H. The one real brake on severity is UI:R - exploitation only fires when a backend user opens the Comments module, so this is operator-triggered rather than fully autonomous. No EPSS probability, no CISA KEV entry, and no public exploit code were supplied, so there is no evidence of active or at-scale exploitation; however, the fix commit is public and shows the exact missing encoding (StringUtil::specialchars / specialcharsUrl), which materially lowers the bar for an attacker to reconstruct a working payload. Exploitation status: no public exploit identified at time of analysis. Net: treat as an urgent patch for any Contao install exposing a comment form, while recognizing realistic exploitation is targeted (requires a moderator to view comments) rather than wormable. Note explicitly: EPSS and KEV data are absent from the input and were not independently verified. |
| Exploit ScenarioDerived | An unauthenticated visitor submits a comment on a public Contao page, placing a malicious payload (e.g., a javascript: URL or markup-breaking string) in the email or website field, which is stored without adequate attribute/URL encoding. When a backend moderator later opens the Comments module to review submissions - including unpublished ones, since moderation does not hide them - the payload executes in the backend origin under the moderator's authenticated session. No public exploit code is identified, but the public fix commit reveals the exact unencoded sink, easing payload construction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Stored cross-site scripting in the Contao CMS comments bundle lets an unauthenticated visitor submit a comment whose email or website metadata is rendered without sufficient attribute and URL encoding by listComments() in comments-bundle/contao/dca/tl_comments.php, so attacker-controlled script executes in the Contao backend origin when a backend user opens the Comments module. All Contao releases from 4.0.0 up to (but not including) 5.3.50 and 5.7.12 are affected, and successful exploitation requires a privileged backend user to view the Comments module (CVSS 9.3, AV:N/AC:L/PR:N/UI:R/S:C); no public exploit code has been identified at time of analysis and there is no indication of confirmed active exploitation. Critically, moderation is not a mitigating control because unpublished/pending comments remain visible to moderators, so an unapproved malicious comment still triggers in that user's session.
RemediationAI
Vendor-released patch: upgrade to Contao 5.3.50 or 5.7.12 (or later), which incorporate the context-aware encoding fixes in comments-bundle/contao/dca/tl_comments.php; the relevant upstream fix is commit 22505d5f79bc1a7f52e2cba5fddf6007e1f0408a, and advisory details are at https://github.com/contao/contao/security/advisories/GHSA-628f-v4f6-p37r with release notes at https://github.com/contao/contao/releases/tag/5.3.50 and https://github.com/contao/contao/releases/tag/5.7.12. For installations that cannot upgrade immediately, apply compensating controls that break the attack path: temporarily disable or restrict the public comment form and comment submission endpoint (which prevents the stored payload from being created, at the cost of losing visitor commenting), and strictly limit who can access the backend Comments module so that only trusted administrators with low exposure review pending comments (since moderation does not prevent execution-unpublished comments are still rendered to moderators, and reviewing comments remains the trigger for the XSS). Removing or fully disabling the comments-bundle for the affected site eliminates the vulnerable rendering path entirely at the cost of losing comment functionality, and manually backporting or applying the upstream commit is an option where a controlled code change is acceptable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-79 improper-neutralization-of-input-during-web-page-generation (cross-site scripting) defect in Contao's comments-bundle. In the data container array file tl_comments.php, the listComments() callback builds backend list rows that embed the commenter's email inside an HTML mailto: href and title attribute and embed the commenter's website inside an href attribute. The pre-patch code passed Idna::decodeEmail($arrRow['email']) directly into the href without StringUtil::specialchars(), and inserted $arrRow['website'] into href="..." without StringUtil::specialcharsUrl(). Although the title attributes used StringUtil::specialchars(), the URL/attribute contexts themselves were not safely encoded, allowing an unauthenticated comment submitter to break out of the attribute and inject markup or script. The fix (commit 22505d5f79bc1a7f52e2cba5fddf6007e1f0408a) wraps the email in StringUtil::specialchars() in the mailto href and routes the website through StringUtil::specialcharsUrl() in the href, which is the correct context-aware encoding for URL and attribute positions. Because the vulnerable rendering occurs in the Contao backend origin while handling a stored attacker-supplied comment, the resulting XSS runs in a high-privilege authenticated context when a backend user opens the Comments module.
Know when Contao 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
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Unauthenticated remote comment submission (AV:N/PR:N/AC:L), but a backend user must open the module (UI:R); script escapes into the privileged backend origin (S:C) compromising that session's confidentiality and integrity (C:H/I:H, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Contao is an Open Source CMS. From version 4.0.0 until 5.3.50 and 5.7.12, an unauthenticated visitor can submit a comment whose email or website metadata is rendered without sufficient attribute and URL encoding by listComments() in comments-bundle/contao/dca/tl_comments.php. When a backend user opens the Comments module, attacker-controlled script can execute in the Contao backend origin under that user's session. Unpublished comments remain visible to moderators, so moderation does not prevent exposure. This issue is fixed in versions 5.3.50 and 5.7.12.
Articles & Coverage 1
Technical POC Analysis
Stored XSS (CWE-79), with incomplete output escaping/encoding (CWE-116).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Contao CMS sites on affected releases (4.0.0 up to, but not including, 5.3.50 and 5.7.12) are exposed to a stored cross-site scripting flaw in the comments bundle that an anonymous visitor can trigger by submitting a comment with crafted email or website metadata. The malicious script runs in the trusted backend origin when an editor or moderator opens the Comments module, allowing session hijacking and potential takeover of site content, configuration, and administrative accounts. Leadership should care because no vendor patch is available, no public exploit code has been identified at time of analysis, and the standard comment moderation workflow does not prevent the attack.
No vendor-released patch identified at time of analysis. Interim mitigations: disable or unpublish the comments bundle, or restrict comment submission to authenticated users; restrict backend access by IP allowlist or network controls so only trusted administrators can reach the Comments module; do not rely on comment moderation, since unpublished/pending comments remain visible to moderators and still trigger execution; force backend session re-authentication and shorten session lifetimes; deploy a restrictive content security policy and WAF/encoding controls for the backend origin; monitor and review recently submitted comment metadata for suspicious encoded markup.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Contao Managed Edition v1.5.0 was discovered to contain a remote command execution (RCE) vulnerability via the component
Multiple cross-site request forgery (CSRF) vulnerabilities in main.php in Contao (formerly TYPOlight) 2.11.0 and earlier
Contao is a powerful open source CMS that allows you to create professional websites and scalable web applications. Rate
Contao 4.x allows SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no auth
Contao 4.7 allows Use of a Key Past its Expiration Date. Rated critical severity (CVSS 9.8), this vulnerability is remot
Contao before 3.5.39 and 4.x before 4.7.3 has a Weak Password Recovery Mechanism for a Forgotten Password. Rated critica
Contao before 5.5.6 allows XSS via an SVG document. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp
Contao is an open source content management system. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp
Unauthenticated path traversal in the Contao CMS ImagesController lets remote attackers read files from the project dire
Information disclosure in Contao CMS allows unauthenticated front-end visitors to read the titles, URLs, and indexed tex
Unauthenticated email-flooding and user-enumeration in Contao CMS: a POST to any page containing the registration module
Contao before 3.5.28 and 4.x before 4.4.1 allows remote attackers to include and execute arbitrary local PHP files via a
EUVD-2026-95975
GHSA-628f-v4f6-p37r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB