Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCompromise or operate adversary-controlled Matrix homeserver
-
DeliveryInject crafted phishing HTML into homeserver homepage endpoint
-
ExploitUser opens Element Web configured to that homeserver
-
ExecutionEmbeddedPage fetches and renders unsanitized HTML via dangerouslySetInnerHTML
-
PersistVictim sees attacker-controlled phishing UI in trusted client context
-
ImpactVictim submits credentials to attacker-controlled endpoint
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 the attacker to control or have compromised the specific Matrix homeserver that the victim's Element Web instance is configured to use - this vulnerability is not exploitable by arbitrary network attackers against default configurations of independent deployments. The user must have their Element Web homepage load in the browser, which occurs on normal client startup (passive interaction, not deliberate user action beyond opening the app). No authentication to Element Web is required on the attacker's side; the homeserver-side access is the prerequisite. The enforced Content Security Policy prevents JavaScript execution from the injected HTML, limiting the attack surface to HTML and CSS phishing payloads. Self-hosted homeserver deployments with weak server-side security postures and publicly federated servers whose homepage endpoints can be influenced are at elevated risk relative to managed SaaS deployments where homeserver infrastructure is controlled by a trusted operator. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N) scoring 5.3 Medium accurately reflects the constrained impact profile: network-delivered, low complexity, but limited to low confidentiality and integrity impact with no availability consequence. The critical limiting factor is the homeserver trust relationship - this is not exploitable by arbitrary internet attackers; the threat actor must control or have compromised the specific Matrix homeserver the victim is configured to use. EPSS data was not provided, so exploitation probability cannot be quantified. No CISA KEV listing and no identified public exploit code reduce urgency for most deployments. The realistic threat model is targeted phishing against users of compromised or adversary-operated homeservers - the injected HTML renders with full browser fidelity in the trusted Element interface, making it a credible social engineering vector. The CSP boundary is a meaningful and confirmed partial control that prevents JavaScript execution, keeping this outside the critical tier despite unsanitized HTML rendering. |
| Exploit ScenarioDerived | An attacker operating a rogue Matrix homeserver - or one who has gained write access to a legitimate homeserver's homepage endpoint configuration - serves a crafted HTML payload containing a spoofed Element session-expiry prompt with a credential-harvesting form. When a user running Element Web prior to 1.12.22 connects to that homeserver and the homepage loads, the injected HTML renders with full visual fidelity inside the trusted Element interface. Because CSP blocks JavaScript, the attacker relies on a plain HTML form submission to an attacker-controlled endpoint to capture Matrix credentials. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Element Web's EmbeddedPage component rendered homeserver-supplied homepage HTML directly into the DOM via React's dangerouslySetInnerHTML without first passing it through the application's sanitizedHtmlNode utility, enabling any malicious or compromised Matrix homeserver to inject arbitrary HTML into the client homepage of connecting users prior to version 1.12.22. The Content Security Policy blocks JavaScript execution, constraining impact to HTML-based phishing - fake login forms, spoofed UI overlays - rather than remote code execution. No public exploit code has been identified and this vulnerability is not listed in CISA KEV.
RemediationAI
Upgrade Element Web to version 1.12.22 or later, confirmed available at https://github.com/element-hq/element-web/releases/tag/v1.12.22. The fix eliminates the unsanitized dangerouslySetInnerHTML call in EmbeddedPage.tsx by routing all homeserver-supplied homepage content through the sanitizedHtmlNode utility with an appropriate sanitize-html allowlist. For deployments unable to upgrade immediately, a targeted compensating control is to configure the homeserver's homepage URL to point to a trusted, organizationally-controlled static resource, thereby preventing attacker-supplied content from reaching EmbeddedPage entirely; the trade-off is loss of dynamic homeserver-customized homepage content. Ensuring a strict Content Security Policy is deployed (Element Web's default CSP already blocks inline script execution) limits residual risk from any HTML injection to phishing-class content without code execution. Additional deployment context may be available at https://www.machinespirits.com/advisory/563a17.
Affected VersionsENISA
Affected Packages
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
Element Web (CPE: cpe:2.3:a:element-hq:element-web:*:*:*:*:*:*:*:*) is a React-based web client for the Matrix decentralized messaging protocol. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause: the EmbeddedPage.tsx component fetched homepage content from the configured homeserver and passed it directly to dangerouslySetInnerHTML - React's intentional escape hatch that bypasses all framework-level XSS protections. Other content-rendering paths in Element Web correctly route through sanitizedHtmlNode, which calls the sanitize-html library with a strict element and attribute allowlist. EmbeddedPage was the sole unsanitized path. The fix in commit 7949980 routes EmbeddedPage content through sanitizedHtmlNode with a customized sanitizeParams configuration that retains support for images and inline styles while stripping dangerous elements such as iframes and script tags. The commit diff also shows the sanitizedHtmlNode function itself was refactored to accept optional className and sanitizeParams arguments, enabling per-call policy customization.
Know when Element Web 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-delivered via homeserver with no privileges required, but passive user interaction needed to load the homepage; CSP limits impact to low confidentiality and integrity with no code execution.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Element Web is a Matrix web client built using the Matrix React SDK. Prior to 1.12.22, EmbeddedPage in apps/web/src/components/structures/EmbeddedPage.tsx renders homeserver-supplied homepage content through dangerouslySetInnerHTML without passing it through sanitizedHtmlNode. A malicious homeserver can provide crafted HTML that Element Web renders on the homepage; the content security policy prevents JavaScript but not phishing HTML. This issue is fixed in version 1.12.22.
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.
EUVD-2026-64046
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB