Safe mode Cross-site Scripting (XSS) vulnerability in Joplin
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
Joplin is a free, open source note taking and to-do application. A Cross-site Scripting (XSS) vulnerability allows an untrusted note opened in safe mode to execute arbitrary code. `packages/renderer/MarkupToHtml.ts` renders note content in safe mode by surrounding it with <pre> and </pre>, without escaping any interior HTML tags. Thus, an attacker can create a note that closes the opening <pre> tag, then includes HTML that runs JavaScript. Because the rendered markdown iframe has the same origin as the toplevel document and is not sandboxed, any scripts running in the preview iframe can access the top variable and, thus, access the toplevel NodeJS `require` function. `require` can then be used to import modules like fs or child_process and run arbitrary commands. This issue has been addressed in version 2.12.9 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA joplin (laurent22) Fixed in 2.12.9
Timeline
- 2026-10-02 Threatist record created from CVE-2023-37898
References
More laurent22 Joplin vulnerabilities
- TI-2023-24472 Arbitrary code execution on click of PDF links in Joplin CVSS 3.1CRITICAL 9.0
- TI-2024-32950 Remote Code Execution on click of <a> Link in markdown preview CVSS 3.1CRITICAL 9.6
- TI-2024-27054 Joplin has a parsing error leading to Cross-site Scripting (XSS) CVSS 3.1CRITICAL 9.7
- TI-2025-17795 Cross-site Scripting (XSS) in Rich Text Editor allows arbitrary code execution in Joplin CVSS 3.1CRITICAL 9.6
- TI-2025-19991 Privilege escalation in Joplin server via user patch endpoint CVSS 3.1HIGH 8.8
- TI-2024-35730 Lack of validation on openExternal allows 1 click remote code execution in joplin CVSS 3.1HIGH 8.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences