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.
References6
- github.com/laurent22/joplin/commit/18e0b08c282c89ae51612c4eff67…
- github.com/laurent22/joplin/commit/50518073740c4501058e366300b4…
- github.com/laurent22/joplin/pull/15540
- github.com/laurent22/joplin/pull/15672
- github.com/laurent22/joplin/security/advisories/GHSA-r24r-gp6h-…
- github.com/laurent22/joplin/security/advisories/GHSA-r24r-gp6h-…
Metrics
- CVSS 3.1
-
7.0
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L - EPSS — exploit probability
- 0% percentile: 36 · as of 8 November 2026
- CWE
- CWE-20CWE-22
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.