Skip to main content

FairEmail CVE-2026-54521

| EUVDEUVD-2026-82424 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-17 GitHub_M
6.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft AMP email with inline script
  2. Delivery
    Deliver message to recipient inbox
  3. Exploit
    Recipient opens mail and enables AMP toggle
  4. Execution
    WebView executes attacker JavaScript
  5. Impact
    Exfiltrate 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.

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

FairEmail < 1.2319

Affected Packages

euvd fairemail fix: 1.2319

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

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

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

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/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
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Sep 17, 2026 - 21:19 EUVD
CVE Published
Sep 17, 2026 - 20:17 cve.org
MEDIUM 6.1

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

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
popular open-source privacy email app for Android, sizable but non-ubiquitous userbase
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 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

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