Vulnerability · Published Sep 21, 2026 · Assigned by GitHub_M
CVE-2026-49453Joplin: Path traversal in resource sync — silent arbitrary file write outside the resource directory
High 7.0
In plain English
A high-severity improper input validation in joplin from laurent22. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 35% of all known vulnerabilities).
Official description
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.
Affected products (as reported)
Weakness: CWE-20, CWE-22 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L
References
- https://github.com/laurent22/joplin/security/advisories/GHSA-r24r-gp6h-cwgf x_refsource_CONFIRM
- https://github.com/laurent22/joplin/pull/15540 x_refsource_MISC
- https://github.com/laurent22/joplin/pull/15672 x_refsource_MISC
- https://github.com/laurent22/joplin/commit/18e0b08c282c89ae51612c4eff67af2a45ff5163 x_refsource_MISC
- https://github.com/laurent22/joplin/commit/50518073740c4501058e366300b42c2f1925cb05 x_refsource_MISC