{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-49453", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-05-30T02:43:33.107Z", "datePublished": "2026-09-21T20:50:28.455Z", "dateUpdated": "2026-09-21T20:51:08.466Z"}, "containers": {"cna": {"title": "Joplin: Path traversal in resource sync \u2014 silent arbitrary file write outside the resource directory", "problemTypes": [{"descriptions": [{"cweId": "CWE-20", "lang": "en", "description": "CWE-20: Improper Input Validation", "type": "CWE"}]}, {"descriptions": [{"cweId": "CWE-22", "lang": "en", "description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')", "type": "CWE"}]}], "metrics": [{"cvssV3_1": {"attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "LOW", "baseScore": 7, "baseSeverity": "HIGH", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L", "version": "3.1"}}], "references": [{"name": "https://github.com/laurent22/joplin/security/advisories/GHSA-r24r-gp6h-cwgf", "tags": ["x_refsource_CONFIRM"], "url": "https://github.com/laurent22/joplin/security/advisories/GHSA-r24r-gp6h-cwgf"}, {"name": "https://github.com/laurent22/joplin/pull/15540", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/pull/15540"}, {"name": "https://github.com/laurent22/joplin/pull/15672", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/pull/15672"}, {"name": "https://github.com/laurent22/joplin/commit/18e0b08c282c89ae51612c4eff67af2a45ff5163", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/commit/18e0b08c282c89ae51612c4eff67af2a45ff5163"}, {"name": "https://github.com/laurent22/joplin/commit/50518073740c4501058e366300b42c2f1925cb05", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/commit/50518073740c4501058e366300b42c2f1925cb05"}], "affected": [{"vendor": "laurent22", "product": "joplin", "versions": [{"version": "< 3.6.15", "status": "affected"}, {"version": ">= 3.7.0, < 3.7.2", "status": "affected"}]}], "providerMetadata": {"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-09-21T20:51:08.466Z"}, "descriptions": [{"lang": "en", "value": "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."}], "source": {"advisory": "GHSA-r24r-gp6h-cwgf", "discovery": "UNKNOWN"}}}}