Skip to main content

Contao CMS EUVDEUVD-2026-95975

| CVE-2026-107845 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-10-09 GitHub_M GHSA-628f-v4f6-p37r
9.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit comment via public form
  2. Delivery
    Inject payload in website/email field
  3. Exploit
    Comment stored, awaits moderation
  4. Execution
    Moderator opens backend Comments module
  5. Impact
    Script 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

contao 4.0.0, < 5.3.50
contao 5.4.0-RC1, < 5.7.12

Affected Packages

composer contao/comments-bundle fix: 5.3.50, 5.7.12
euvd contao_4_0_0 fix: 5.3.50
euvd contao_5_4_0_rc1 fix: 5.7.12

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

Vendor (GitHub_M) PRIMARY 9.3 CRITICAL
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
vuln.today AI 9.3 CRITICAL

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).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 09, 2026 - 21:02 EUVD
CVE Published
Oct 09, 2026 - 19:29 cve.org
CRITICAL 9.3

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche open-source CMS, modest footprint versus WordPress/Drupal
Threat Intel
1
1 source
Social Media
4
Sightings
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
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.

More in Contao

View all
CVE-2022-26265 CRITICAL POC
9.8 Mar 18

Contao Managed Edition v1.5.0 was discovered to contain a remote command execution (RCE) vulnerability via the component

CVE-2012-1297 MEDIUM POC
6.8 Mar 19

Multiple cross-site request forgery (CSRF) vulnerabilities in main.php in Contao (formerly TYPOlight) 2.11.0 and earlier

CVE-2022-24899 MEDIUM POC
6.1 May 06

Contao is a powerful open source CMS that allows you to create professional websites and scalable web applications. Rate

CVE-2019-11512 CRITICAL
9.8 Jul 09

Contao 4.x allows SQL Injection. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no auth

CVE-2019-10643 CRITICAL
9.8 Apr 17

Contao 4.7 allows Use of a Key Past its Expiration Date. Rated critical severity (CVSS 9.8), this vulnerability is remot

CVE-2019-10641 CRITICAL
9.8 Apr 17

Contao before 3.5.39 and 4.x before 4.7.3 has a Weak Password Recovery Mechanism for a Forgotten Password. Rated critica

CVE-2024-45965 MEDIUM POC
5.4 Oct 02

Contao before 5.5.6 allows XSS via an SVG document. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp

CVE-2023-36806 MEDIUM POC
5.4 Jul 25

Contao is an open source content management system. Rated medium severity (CVSS 5.4), this vulnerability is remotely exp

CVE-2026-107844 MEDIUM POC
5.3 Oct 09

Unauthenticated path traversal in the Contao CMS ImagesController lets remote attackers read files from the project dire

CVE-2026-107842 MEDIUM POC
5.3 Oct 09

Information disclosure in Contao CMS allows unauthenticated front-end visitors to read the titles, URLs, and indexed tex

CVE-2026-107843 MEDIUM POC
5.3 Oct 09

Unauthenticated email-flooding and user-enumeration in Contao CMS: a POST to any page containing the registration module

CVE-2017-10993 HIGH
8.8 Jul 21

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

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