Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft AMP email with inline script
-
DeliveryDeliver message to recipient inbox
-
ExploitRecipient opens mail and enables AMP toggle
-
ExecutionWebView executes attacker JavaScript
-
ImpactExfiltrate message DOM and show phishing overlay
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 FairEmail Android app prior to 1.2319 and, critically, the recipient must manually enable the per-message AMP toggle for the vulnerable ActivityAMP WebView renderer to run - AMP messages are not rendered by default. The attacker must craft an AMP-formatted email whose malicious payload uses vectors the pre-patch sanitizer misses: inline <script> element bodies (only [src] was stripped), on* event-handler attributes, or javascript: URLs on non-script elements, on a non-allowlisted host. Practical exposure is further limited because AMP email is uncommon; impact is confined to the message-body WebView (DOM read, message-data exfiltration, in-body phishing overlays) with no access to the device or account beyond the rendered message. |
| Impact | This is a genuine but modest-severity client-side XSS (CWE-79) in FairEmail's AMP message renderer, and the signals are internally consistent rather than conflicting. The vendor CVSS of 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) is well-supported by the description and the confirmed source-code fix: the pre-patch ActivityAMP.java enabled JavaScript in the WebView but only stripped script[src] for non-allowlisted hosts, leaving inline <script> bodies, on* event-handler attributes, and javascript: URLs intact - exactly what the patch (element removal plus attribute stripping of on*/javascript:) now closes. No EPSS score, KEV entry, or public POC was provided, so exploitation status is 'no public exploit identified at time of analysis'; the fix commit does, however, implicitly document the bypass. Two strong real-world limiters keep this out of urgent-priority territory: exploitation requires the recipient to manually enable the per-message AMP toggle (UI:R), and AMP email itself is rare, so the delivery surface is small. Impact is also capped - attacker JS is confined to the message-body WebView (C:L/I:L, no A), enabling DOM reads, message-data exfiltration, and in-body phishing overlays rather than device or account takeover. Net: a legitimately patch-worthy issue, but a targeted phishing/data-leak vector, not a wormable or mass-exploitation threat. |
| Exploit ScenarioDerived | An attacker sends a crafted AMP email containing an inline <script> or an element with an on* handler / javascript: URL that survives the incomplete sanitizer. When the recipient opens the message and taps the AMP toggle, the WebView executes the attacker's JavaScript, which reads the message DOM, exfiltrates message content, and renders a phishing overlay inside the message body. No public exploit code was identified at time of analysis, though the patch diff documents the bypassed sanitization logic. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Cross-site scripting in the FairEmail Android email app (versions prior to 1.2319) allows a crafted AMP email to execute arbitrary JavaScript inside the message-body WebView once the recipient manually enables the per-message AMP toggle, enabling the attacker to read the message DOM, exfiltrate message data, and draw phishing overlays within the message body. The vulnerable ActivityAMP renderer fails to strip inline script bodies, on* event-handler attributes, and javascript: URLs on non-allowlisted hosts, and the CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N confirms unauthenticated remote delivery with required user interaction, scope change, and limited confidentiality/integrity impact but no availability impact. No public exploit code or active exploitation is identified at time of analysis, and practical risk is further lowered because AMP email is uncommon and AMP rendering is off by default.
RemediationAI
Vendor-released patch: 1.2319 - upgrade FairEmail to version 1.2319 or later from the official release page at https://github.com/M66B/FairEmail/releases/tag/1.2319; the fix is documented in advisory GHSA-r8ff-qr7g-pvw6 and implemented by commit fb37bbfabf5e75d08f0cfa6ce9b84469d62a20a0, which removes disallowed script elements entirely and strips on* and javascript: attributes. Until the upgrade is applied, the most effective compensating control is to leave AMP rendering disabled for untrusted messages - FairEmail does not render AMP by default and requires the recipient to enable a per-message toggle, so users can simply avoid enabling AMP on messages from unknown senders, and anyone able to disable AMP support globally should do so at the cost of losing AMP-formatted email functionality only. Blocking or stripping inbound AMP email at the mail gateway also prevents the crafted payload from reaching the vulnerable renderer, with the trade-off of discarding legitimate AMP content; there is no server-side patch, since this client-side XSS runs on the device.
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
FairEmail's ActivityAMP.java renders AMP-for-Email content in an Android WebView with JavaScript enabled and relied on jsoup to sanitize untrusted message HTML. Before version 1.2319, the code selected only <script> elements and removed the src attribute when the host was not in ALLOWED_SCRIPT_HOSTS, which left inline script element bodies executable and left event-handler attributes (on*) and javascript: URLs on other elements intact, matching CWE-79 improper neutralization of user-controlled input in a web-rendering context. The fix, commit fb37bbfabf5e75d08f0cfa6ce9b84469d62a20a0, iterates over all elements, deletes any script element whose src is empty or whose host is not allowlisted, and strips every attribute whose value starts with "javascript:" or whose name starts with "on". The CPE cpe:2.3:a:m66b:fairemail:*:*:*:*:*:*:*:* and ENISA EUVD-2026-82424 cover all FairEmail releases below 1.2319, and the activity is confined to the message-body WebView, so the script has no access to device or account data beyond the rendered message.
Know when Fairemail 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:L/I:L/A:N
Emailed payload is network-delivered (AV:N) with no attacker auth (PR:N) but needs the recipient to open the message and enable the AMP toggle (UI:R); script escaping the sanitizer into the WebView is a scope change (S:C) with limited DOM read/manipulation (C:L/I:L, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
FairEmail is a fully featured, open source, privacy-friendly email app for Android. Prior to 1.2319, the ActivityAMP AMP message renderer in app/src/main/java/eu/faircode/email/ActivityAMP.java enables JavaScript in its WebView but incompletely sanitizes untrusted message HTML. For non-allowlisted hosts, script.removeAttr("src") leaves inline script elements in the document and does not reject event-handler attributes or javascript: URLs on other elements. A crafted AMP email can execute arbitrary JavaScript when a recipient opens the message and enables the AMP toggle. The script can read the message DOM, exfiltrate message data, and display phishing overlays within the message-body area. Exploitation requires the recipient to enable the AMP toggle, and practical exposure is reduced because AMP email is uncommon. This issue is fixed in version 1.2319.
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-82424
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB