Skip to main content

Obsidian Desktop EUVDEUVD-2026-95100

| CVE-2026-104077 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-08 VulnCheck GHSA-fj5r-pww3-qc5p
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious Markdown note with data-background-iframe
  2. Delivery
    Deliver note to victim vault
  3. Exploit
    Victim opens and starts Slides presentation
  4. Execution
    Payload bypasses DOMPurify, reaches parent.require
  5. Impact
    Execute arbitrary commands as Obsidian user

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 all of the following: the target runs an unpatched Obsidian Desktop build with the Slides core plugin available; the attacker delivers a Markdown note containing a data-background-iframe attribute whose value bypasses DOMPurify; and the victim both opens that note and explicitly starts it as a presentation, at which point Reveal.js promotes the value to an iframe src with no URL-scheme restriction. The underlying enabler is Obsidian's Electron configuration - Node integration enabled with context isolation disabled - which lets a javascript: payload reach parent.require and Node APIs. Limiting factors that reduce real-world risk: mandatory user interaction (opening the file plus manually launching the presentation), local file-based delivery rather than remote push, and dependence on a pre-fix (pre-1.14.x) build; updating removes the exposure.

Impact

This is a genuine high-priority issue despite relying on user interaction. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P) scores 8.5 and the technical impact is full compromise (VC:H/VI:H/VA:H) because the flaw chains an XSS-class sanitization bypass (CWE-79) into arbitrary OS command execution in a Node-integrated, context-isolation-disabled Electron renderer. The decisive limiter is UI:P (passive/required user interaction): the victim must open the attacker's note AND actively start it as a presentation, and AV:L reflects that the payload arrives as a local file rather than over the network, so this is a social-engineering / malicious-file delivery problem rather than a wormable remote exploit. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so there is no evidence of active or at-scale exploitation; the signals point to targeted, victim-triggered abuse. One data conflict to verify: the description states the fix is 'before 1.14.0' while the only reference is the vendor changelog for Desktop v1.14.4 - confirm the exact patched build with Obsidian. Only a CVSS 4.0 vector was supplied (no 3.1), and the reporter is VulnCheck.

Exploit ScenarioDerived

An attacker shares a seemingly benign Markdown note (e.g., via a synced vault, shared folder, email, or community resource) that embeds a data-background-iframe attribute surviving DOMPurify. When the victim opens the note in Obsidian Desktop and starts it as a presentation with the Slides core plugin, Reveal.js promotes the attacker-controlled value into an iframe src without scheme restrictions, firing a javascript: payload that calls parent.require to reach Node.js APIs and run commands as the Obsidian user. No public exploit code was identified at time of analysis, but the technique is fully described.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 08, 2026

Arbitrary code execution in Obsidian Desktop builds prior to 1.14.0 is possible when a user opens an attacker-supplied Markdown note and manually starts it as a presentation: a crafted data-background-iframe attribute survives DOMPurify sanitization in the bundled Slides core plugin, and Reveal.js then promotes that value into an iframe src without URL-scheme validation, allowing a javascript: payload to reach Node.js APIs through parent.require in Obsidian's Node-integrated, context-isolation-disabled renderer. The attacker is unauthenticated per the assessed vectors (PR:N) but exploitation is entirely local and user-driven, requiring file-based delivery plus two deliberate user actions (opening the note and launching the presentation), which is why the assessed CVSS 3.1 score is 8.5 with S:C. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; the vendor has published a patched release, so exposure is eliminated by updating.

Earlier versions of this analysis (1)
v1 Oct 08, 2026 - 17:06 CVSS 8.4

Arbitrary command execution as the Obsidian user is possible on default Obsidian Desktop installations before 1.14.0 when a victim opens a crafted Markdown note and actively launches it as a presentation via the built-in Slides core plugin. The note carries a data-background-iframe attribute that survives DOMPurify sanitization; Reveal.js then promotes that attacker-controlled value to an iframe src without URL-scheme restrictions, executing a javascript: payload that reaches Node.js APIs through parent.require in Obsidian's Node-integrated, context-isolation-disabled Electron renderer. Exploitation is gated by a multi-step, active user interaction (open the note, start the presentation), no public exploit code has been identified at time of analysis, and there is no CISA KEV listing; the local attack vector and interaction requirement keep this below a mass-exploitation emergency despite the high confidentiality, integrity, and availability impact on the victim's machine.

RemediationAI

Upgrade Obsidian Desktop to the patched release line - the vendor's patch reference is the 1.14.4 changelog at https://obsidian.md/changelog/2026-10-05-desktop-v1.14.4/, which supersedes all builds before 1.14.0 - and confirm the About screen reports 1.14.4 or later; the update removes the exposure entirely and requires no other configuration change. Where immediate updating is not possible, the highest-value compensating control is to disable the Slides core plugin (Settings > Community plugins / Core plugins) or to remove the presentation entry points so no untrusted Markdown can reach Reveal.js; the trade-off is loss of the built-in presentation feature and any vault workflow that depends on it. Additional containment: treat third-party or downloaded .md files as untrusted and do not open them as presentations, and avoid loading vaults from shared or synced locations you do not control, though these are behavioral controls that depend on user discipline and can be bypassed by a convincing lure. Restricting Obsidian's ability to run with Node integration disabled / context isolation enabled would address the underlying escalation path, but that is not a supported user-configurable toggle in affected builds and cannot be relied on as a mitigation; sanitization-only workarounds are ineffective because the bypass specifically defeats DOMPurify. No vendor-released patch is needed beyond the 1.14.4 update, and no other vendor advisory was provided in the source data.

Affected VersionsENISA

Obsidian Desktop 0 <1.14.0

Affected Packages

euvd obsidian_desktop fix: 1.14.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

The flaw is classified as CWE-79 (improper neutralization of input during web page generation, i.e. cross-site scripting) and lives in the Slides core plugin that ships with Obsidian Desktop, which renders Markdown notes as Reveal.js presentations. Reveal.js supports a data-background-iframe attribute that is intended to embed background content; hardening code in the Slides plugin relies on DOMPurify to strip dangerous markup and URL schemes from the note source, but the crafted attribute survives sanitization, so the attacker-controlled string is handed to Reveal.js as the iframe's src with no scheme validation. Because a javascript: iframe URL executes in Obsidian's renderer context and that renderer is an Electron window configured with Node integration enabled and context isolation disabled, the injected script can call parent.require and obtain Node.js APIs, escalating a classic DOM-based XSS into native command execution as the Obsidian user account. The CPE cpe:2.3:a:obsidian:obsidian_desktop:*:*:*:*:*:*:*:* confirms all Obsidian Desktop builds below the 1.14.x fix line are in scope; the defense-in-depth failure is architectural (the Electron renderer's trust model) as much as it is the individual sanitization bypass.

Know when Obsidian 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 (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.6 HIGH

AV:L because exploitation is via a locally opened malicious note and UI:R because the victim must open it and launch the presentation; S:C as the renderer-context XSS escapes to OS-level code execution with full C/I/A impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Oct 08, 2026 - 17:23 NVD
8.4 (HIGH) 8.5 (HIGH)
CVE Published
Oct 08, 2026 - 16:27 cve.org
HIGH 8.4

DescriptionCVE.org

Obsidian Desktop before 1.14.0 contains an arbitrary code execution vulnerability in the Slides core plugin that allows attackers to craft a malicious Markdown note containing a data-background-iframe attribute that survives DOMPurify sanitization. When the victim opens the note and starts it as a presentation, Reveal.js promotes the attacker-controlled value to an iframe src without URL-scheme restrictions, executing a javascript: payload that reaches Node.js APIs via parent.require in the Node-integrated, context-isolation-disabled renderer to achieve arbitrary command execution as the Obsidian user.

Executive ViewAI

Why It Matters

Obsidian Desktop versions prior to 1.14.0 contain a high-severity arbitrary code execution vulnerability that can be triggered when a user opens a malicious Markdown note and manually starts a presentation. While the vulnerability is unauthenticated and no public exploit identified at time of analysis, exploitation requires local file delivery and two deliberate user actions, but a successful attack could compromise user endpoints and lead to data loss or unauthorized access. A vendor-released patch: 1.14.0 is available, and immediate updating is recommended to eliminate exposure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
very popular prosumer note app, but limited enterprise/server production footprint
Social Media
1
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2022-36450 CRITICAL POC
9.8 Jul 25

Obsidian 0.14.x and 0.15.x before 0.15.5 allows obsidian://hook-get-address remote code execution because window.open is

CVE-2026-54618 CRITICAL POC
9.4 Sep 17

Unauthenticated OAuth handling in Obsidian Web MCP (obsidian-web-mcp) prior to 0.2.0 lets any remote caller who can reac

CVE-2021-42057 HIGH POC
7.8 Nov 04

Obsidian Dataview through 0.4.12-hotfix1 allows eval injection. Rated high severity (CVSS 7.8), this vulnerability is no

CVE-2023-27035 HIGH POC
7.5 May 01

An issue discovered in Obsidian Canvas 1.1.9 allows remote attackers to send desktop notifications, record user audio an

CVE-2023-2110 HIGH POC
7.1 Aug 19

Improper path handling in Obsidian desktop before 1.2.8 on Windows, Linux and macOS allows a crafted webpage to access l

CVE-2022-45130 MEDIUM POC
6.5 Nov 10

Plesk Obsidian allows a CSRF attack, e.g., via the /api/v2/cli/commands REST API to change an Admin password. Rated medi

CVE-2023-24044 MEDIUM POC
6.1 Jan 22

A Host Header Injection issue on the Login page of Plesk Obsidian through 18.0.49 allows attackers to redirect users to

CVE-2021-35976 MEDIUM POC
6.1 Sep 10

The feature to preview a website in Plesk Obsidian 18.0.0 through 18.0.32 on Linux is vulnerable to reflected XSS via th

CVE-2021-38148 CRITICAL
9.8 Aug 07

Obsidian before 0.12.12 does not require user confirmation for non-http/https URLs. Rated critical severity (CVSS 9.8),

CVE-2026-104078 HIGH
8.4 Oct 08

Arbitrary operating-system command execution on Obsidian Desktop builds prior to 1.14.0 is possible when a victim opens

CVE-2023-33244 HIGH
8.2 May 20

Obsidian before 1.2.2 allows calls to unintended APIs (for microphone access, camera access, and desktop notification) v

CVE-2020-11583 MEDIUM
6.1 Aug 03

A GET-based XSS reflected vulnerability in Plesk Obsidian 18.0.17 allows remote unauthenticated users to inject arbitrar

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