Skip to main content

Mailspring CVE-2026-93405

| EUVDEUVD-2026-86337 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-24 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 malicious DOCX/XLSX/Markdown attachment
  2. Delivery
    Email attachment to victim
  3. Exploit
    Victim opens quick preview
  4. Execution
    Converted HTML injected via innerHTML
  5. Persist
    Script executes in preview renderer
  6. Impact
    Reach exposed IPC surface

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 victim to use Mailspring's attachment quick-preview feature and to open a crafted Markdown, DOCX, or XLSX attachment sent by the attacker - the payload rides in content that Snarkdown/Mammoth/SheetJS convert to HTML that is then written via innerHTML without sanitization. No authentication or special server configuration is needed (any remote sender can deliver the attachment), but the attack is LIMITED by mandatory user interaction (the recipient must actually open quick preview) and is confined to a preview renderer with no direct Node/Electron access. Persistent, host-level code execution is NOT achievable from this bug alone: the vendor states it must be chained with separate path-traversal and renderer-controlled file-write vulnerabilities. Affected versions are all releases prior to 1.17.0.

Impact

This is a genuine but bounded client-side risk. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, 6.1 Medium) accurately captures it: network-delivered (a malicious email attachment), low complexity, no attacker authentication needed, but it requires user interaction - the recipient must open the attachment's quick preview. The scope change (S:C) is well-justified because injected script escapes the sandboxed preview document to reach the IPC surface exposed to the quick-preview renderer, and low C/I with no availability impact reflect that this issue ALONE only yields script execution in a renderer with no direct Node/Electron access. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation is: no public exploit identified at time of analysis. The most important nuance the description supplies is that standalone this is 'just' preview-renderer XSS; the vendor explicitly notes that persistent code execution requires chaining two SEPARATE bugs (path traversal and renderer-controlled file write) not covered by this CVE. Treat this as a real medium-priority patching item for Mailspring users rather than a critical drop-everything issue, but note the elevated blast radius because Mailspring runs with legacy-insecure Electron settings (nodeIntegration:true, contextIsolation:false, enableRemoteModule:true per the PR's own upgrade-assessment doc), which makes reachable IPC more dangerous than a typical browser XSS.

Exploit ScenarioDerived

A remote attacker emails the victim a crafted Markdown, DOCX, or XLSX attachment whose content, once converted to HTML by Snarkdown/Mammoth/SheetJS, contains a malicious script payload. When the victim opens the attachment's quick preview in Mailspring, the unsanitized HTML is written via innerHTML and the script executes in the preview renderer, from which it can invoke the IPC surface exposed to that renderer. No public POC was provided, and the attack needs user interaction (opening quick preview) but no authentication.

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 24, 2026

Cross-site scripting in Mailspring's attachment quick-preview (all versions prior to 1.17.0) allows a remote, unauthenticated sender to execute script in the recipient's preview renderer by delivering a crafted Markdown, DOCX, or XLSX attachment that the victim opens in quick preview. Exploitation requires the recipient to actively open the preview (UI:R), and the injected script runs in a renderer that has no direct Node or Electron access, so it can reach the IPC surface exposed to the quick-preview renderer but cannot by itself achieve host-level code execution - Mailspring's advisory notes that persistent code execution requires chaining this bug with separate path-traversal and renderer-controlled file-write issues. The flaw is rated CVSS 6.1 and is fixed in Mailspring 1.17.0; no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Vendor-released patch: Mailspring 1.17.0 - upgrade to 1.17.0 or later, which contains the sanitization fix introduced by upstream commit 5728388199666ec0a9a58f693c89c25b948a9b6c (PR 2523) and described in advisory GHSA-px2g-jhg5-c6gh; because Mailspring is a desktop client, this means updating through the application's own updater, your package manager, or by downloading the 1.17.0 release build directly, and confirming the installed version on every endpoint since there is no server-side control point. If immediate upgrading is not possible, the practical compensating controls are to disable or refrain from using attachment quick preview for untrusted mail (restores the pre-1.17.0 behavior of not rendering converted attachment HTML, at the cost of convenience, since users must open attachments in external applications, which carry their own risks), to instruct users not to open Markdown, DOCX, or XLSX attachments from unknown or unexpected senders, and to restrict auto-preview settings so attachments are only previewed on explicit user action - none of these eliminate the flaw, they only reduce the likelihood that the renderer processes attacker-controlled content. Given the vendor's statement that host-level code execution requires chaining with separate path-traversal and renderer-controlled file-write issues, also watch for those companion fixes and apply them as they are released, and consider hardening the Electron renderer (contextIsolation enabled, nodeIntegration disabled, a strict CSP for preview windows) as a defense-in-depth measure that limits the usefulness of any preview-renderer script execution that does occur.

Affected VersionsENISA

Mailspring < 1.17.0

Affected Packages

euvd mailspring fix: 1.17.0

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

Mailspring's attachment quick preview converts attachment content to HTML using three libraries - Snarkdown for Markdown, Mammoth for DOCX, and SheetJS for XLSX - and then inserts the converted markup directly into the preview document via innerHTML without sanitization. This is a classic CWE-79 improper neutralization of input during web page generation: the conversion libraries faithfully carry attacker-controlled markup (including script or event-handler payloads) from file content into the DOM, and no output encoding, DOMPurify-style sanitization, or restrictive Content-Security-Policy stands between the conversion step and insertion. Because the payload originates in a file the attacker sends and is realized when the victim opens preview, this is effectively a stored/delivered XSS in a desktop client rather than a reflected web XSS. The vendor's advisory is explicit about blast radius: the quick-preview renderer is sandboxed from Node and Electron APIs, so this issue alone yields script execution only inside that renderer, but the injected script can call the IPC surface that is bridged to the quick-preview renderer, which is why the vendor treats this as a stepping stone rather than full compromise. Notably, the same upstream pull request that carries the fix also removes an Electron upgrade assessment document describing the application's legacy webPreferences (nodeIntegration enabled, contextIsolation disabled, webviewTag and remote module enabled in the main window), context that illustrates how much more severe a chained exploit becomes once preview-renderer script gains a route into privileged windows via IPC. Affected code is tracked under CPE cpe:2.3:a:foundry376:mailspring:*:*:*:*:*:*:*:*.

Know when Mailspring 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

Remote attachment delivery (AV:N/AC:L/PR:N) but recipient must open quick preview (UI:R); script escapes the preview sandbox to the renderer's IPC surface (S:C) with limited C/I and no availability impact.

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: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
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 24, 2026 - 19:04 EUVD

DescriptionCVE.org

Mailspring is a fast, cross-platform, open-source email client. Prior to 1.17.0, attachment quick preview converts Markdown, DOCX, and XLSX attachments with Snarkdown, Mammoth, and SheetJS and inserts the resulting HTML into the preview document through innerHTML without sanitization. A remote sender can craft a supported attachment whose converted HTML executes script when a recipient opens quick preview. The preview renderer has no direct Node or Electron access, but injected script can reach the IPC surface exposed to the quick-preview renderer. This issue alone provides script execution in the preview renderer; separate path-traversal and renderer-controlled file-write vulnerabilities are required for the documented persistent code-execution chain. This issue is fixed in version 1.17.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source cross-platform desktop email client, modest install base
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

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