CVE-2026-104078 Obsidian Desktop < 1.14.0 RCE via MathJax Safe Filter Bypass
Attackers can execute arbitrary OS commands by crafting malicious MathJax formulas that bypass URL filters in Obsidian Desktop.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-104078?
CVE-2026-104078 is a high-severity code injection vulnerability in Obsidian Desktop, published on 8 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Obsidian Desktop before 1.14.0 contains a filter bypass vulnerability in the bundled MathJax 3.2.2 Safe component that allows attackers to execute arbitrary code by embedding a crafted \href value with a TAB byte in the URL scheme, causing filterURL to produce an empty protocol that bypasses the configured safeProtocols restrictions. Attackers can craft a note containing a malicious MathJax formula that renders as a javascript: URL anchor, which when clicked by the victim in Live Preview executes in the Node-integration-enabled vault renderer via require('child_process'), achieving arbitrary operating system command execution as the desktop user.
Which versions are affected by CVE-2026-104078?
How do I fix CVE-2026-104078?
No fix has been published for CVE-2026-104078 yet. Limit exposure of the affected software until one is available.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-104078 being exploited?
There is no known exploitation of CVE-2026-104078 in the wild and no public exploit code.
Sources
Also known as GHSA-4pcg-gm3h-3m4r.