Read the docs
TI-2023-19331 Aliases CVE-2023-37898

Safe mode Cross-site Scripting (XSS) vulnerability in Joplin

Priority HIGH 69CWE-79Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00426 37th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed joplin (laurent22): 2.12.9

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

VendorProductAffected versionsFixed inStatusSource
laurent22joplinbefore 2.12.92.12.9Patch availableCNA
  • joplin Vendorlaurent22 Affected before 2.12.9 Fixed in 2.12.9 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:joplin_project:joplin:*:*:*:*:*:-:*:*before 2.12.9Vulnerablelaurent22
  • cpe:2.3:a:joplin_project:joplin:*:*:*:*:*:-:*:* Versions before 2.12.9 Vulnerable ·laurent22

Remediation

  • Fix · CNA joplin (laurent22) Fixed in 2.12.9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-37898

References

  • 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
See all 21 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences