CVE-2026-49453: Joplin: path traversal in sync allows arbitrary file write
HIGHCISA: TRACK*Joplin, a popular open source note-taking app, trusts resource IDs and file extensions arriving through synchronization, which lets an attacker with write access to a sync target or shared notebook write files outside the resource directory with no user interaction. The EPSS score of 0.0041 (top 67% by percentile), absence of a public exploit or Nuclei template, no CISA KEV listing and a TRACK* SSVC decision all point to low near-term exploitation likelihood, and the high attack complexity plus the need for sync-target write access limit the blast radius. The practical risk is that a shared notebook or compromised cloud sync backend becomes a route to overwrite files on every endpoint that syncs, which matters most for security teams and researchers who keep sensitive notes and AI research material in Joplin. Upgrade to Joplin 3.6.15 or 3.7.2 and review who has write access to shared notebooks and sync targets such as WebDAV, S3 or Nextcloud. Note that this is a general-purpose note-taking tool with only a tenuous AI/ML connection, so treat it as a standard endpoint patching item rather than a breaking AI threat.
What is the risk?
Medium-to-high severity (CVSS 7.0) but low likelihood of exploitation. Network-reachable via the sync channel, no privileges on the victim and no user interaction required, but high attack complexity and the prerequisite of write access to a configured sync target or shared notebook. Impact is mainly integrity (arbitrary file create/overwrite at an existing path), with limited confidentiality and availability effects. No public exploit, no scanner template, not in KEV, EPSS 0.0041. The AI/ML exposure is indirect: it only matters where Joplin holds AI project notes, prompts, credentials or is used alongside AI workstations.
How does the attack unfold?
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade Joplin to 3.6.15 or 3.7.2 or later on all desktop and mobile clients. 2) Until patched, pause synchronization or stop accepting shared notebooks from untrusted parties. 3) Restrict and audit write access to sync targets (WebDAV, S3, Nextcloud, Dropbox, OneDrive, Joplin Server) and rotate sync credentials if compromise is suspected. 4) Inspect the sync target for resource metadata whose id or file_extension contains '..', '/' or '\\'. 5) Monitor endpoints for unexpected file writes by the Joplin process outside its profile and resource directories, and for modified shell profiles, autostart entries or tool configuration files. 6) Run Joplin with least privilege and consider sandboxing or containerization on sensitive developer workstations.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-49453?
Joplin, a popular open source note-taking app, trusts resource IDs and file extensions arriving through synchronization, which lets an attacker with write access to a sync target or shared notebook write files outside the resource directory with no user interaction. The EPSS score of 0.0041 (top 67% by percentile), absence of a public exploit or Nuclei template, no CISA KEV listing and a TRACK* SSVC decision all point to low near-term exploitation likelihood, and the high attack complexity plus the need for sync-target write access limit the blast radius. The practical risk is that a shared notebook or compromised cloud sync backend becomes a route to overwrite files on every endpoint that syncs, which matters most for security teams and researchers who keep sensitive notes and AI research material in Joplin. Upgrade to Joplin 3.6.15 or 3.7.2 and review who has write access to shared notebooks and sync targets such as WebDAV, S3 or Nextcloud. Note that this is a general-purpose note-taking tool with only a tenuous AI/ML connection, so treat it as a standard endpoint patching item rather than a breaking AI threat.
Is CVE-2026-49453 actively exploited?
No confirmed active exploitation of CVE-2026-49453 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-49453?
1) Upgrade Joplin to 3.6.15 or 3.7.2 or later on all desktop and mobile clients. 2) Until patched, pause synchronization or stop accepting shared notebooks from untrusted parties. 3) Restrict and audit write access to sync targets (WebDAV, S3, Nextcloud, Dropbox, OneDrive, Joplin Server) and rotate sync credentials if compromise is suspected. 4) Inspect the sync target for resource metadata whose id or file_extension contains '..', '/' or '\\'. 5) Monitor endpoints for unexpected file writes by the Joplin process outside its profile and resource directories, and for modified shell profiles, autostart entries or tool configuration files. 6) Run Joplin with least privilege and consider sandboxing or containerization on sensitive developer workstations.
What systems are affected by CVE-2026-49453?
This vulnerability affects the following AI/ML architecture patterns: Developer and data-science workstations, Note-taking and knowledge-management tools, Cloud-synchronized collaboration tools.
What is the CVSS score for CVE-2026-49453?
CVE-2026-49453 has a CVSS v3.1 base score of 7.0 (HIGH). The EPSS exploitation probability is 0.41%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0112Machine CompromiseCompliance Controls Affected
What are the technical details?
Original Advisory
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.6.15 and 3.7.2, Joplin accepts synchronized resource metadata whose id or file_extension contains parent-directory or path-separator characters. BaseItem.unserialize() stores the unvalidated fields, resourceFilename() concatenates them into a destination path, and ResourceFetcher writes the attacker-controlled resource blob outside the resource directory during background synchronization. An attacker with write access to a configured sync target or shared notebook can create or overwrite files at an attacker-chosen existing path without user interaction. This issue is fixed in versions 3.6.15 and 3.7.2.
Exploitation Scenario
An attacker who has compromised a shared sync backend, or who is an invited collaborator on a shared notebook, uploads a resource item whose file_extension is a path-traversal string such as '/../../../.zshrc' or whose id points to a startup script location, with a malicious payload as the blob. When a victim's Joplin client next performs background synchronization, ResourceFetcher writes the payload to the attacker-chosen existing path. If the target is a shell profile, scheduled script or agent configuration on a developer or ML engineer workstation, the attacker gains code execution on the next login or tool launch and can reach API keys, notebooks and model artifacts stored on that machine.
Weaknesses (CWE)
CWE-20Improper Input ValidationPrimaryCWE-22Improper Limitation of a Pathname to a Restricted DirectoryPrimaryCWE-20Improper Input ValidationCWE-22Improper Limitation of a Pathname to a Restricted DirectoryCWE-20 — Improper Input Validation: The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
- [Architecture and Design] Consider using language-theoretic security (LangSec) techniques that characterize inputs using a formal language and build "recognizers" for that language. This effectively requires parsing to be a distinct layer that effectively enforces a boundary between raw input and internal data representations, instead of allowing parser code to be scattered throughout the program, where it could be subject to errors or inconsistencies that create weaknesses. [REF-1109] [REF-1110] [REF-1111]
- [Architecture and Design] Use an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:LReferences
Timeline
Related Vulnerabilities
CVE-2025-5952810.0Flowise: Unauthenticated RCE via MCP config injection
Same attack type: Supply ChainCVE-2024-291210.0BentoML: RCE via insecure deserialization (CVSS 10)
Same attack type: Supply ChainCVE-2023-376510.0MLflow: path traversal allows arbitrary file read
Same attack type: Supply ChainCVE-2025-512010.0smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Supply ChainCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Code Execution