{"id":"CVE-2026-59814","published":"2026-09-21T22:16:57.050","lastModified":"2026-09-23T18:30:42.573","description":"Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.7.7, Joplin Server's GET /shares/:id?resource_id= route serves a resource with the attacker-controlled mime value and omits Content-Disposition when the resource title is empty. A low-privileged user can publish an empty-title image/svg+xml attachment whose script executes when a victim opens the public share. By default, user content shares the Joplin Server application origin, allowing the script to access same-origin data and, when the victim is authenticated, perform actions with the victim's session, including reading administrative data and anti-CSRF tokens. Installations that configure USER_CONTENT_BASE_URL to a separate origin still execute the script, but on that separate user-content origin rather than the application origin. This issue is fixed in version 3.7.7.","cvssScore":7.6,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","cwes":["CWE-79"],"vendors":[],"products":[],"references":[{"url":"https://github.com/laurent22/joplin/commit/920cd8f463bf9bbce9daa07581676123007118e5","tags":[]},{"url":"https://github.com/laurent22/joplin/pull/15787","tags":[]},{"url":"https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh","tags":[]},{"url":"https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh","tags":[]}],"exploitRefs":[{"url":"https://github.com/laurent22/joplin/commit/920cd8f463bf9bbce9daa07581676123007118e5","tags":[]},{"url":"https://github.com/laurent22/joplin/pull/15787","tags":[]},{"url":"https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh","tags":[]},{"url":"https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh","tags":[]}],"hasPoc":true,"ai":{"summary":"Joplin Server allows low-privileged users to upload attachments with empty titles that execute arbitrary scripts when victims open public shares. This enables attackers to perform actions on behalf of authenticated victims using same-origin script execution.","exploitability":"Moderately difficult to exploit as it requires a low-privileged user to create an empty-title attachment and convince a victim to open the public share, but the attack vector is straightforward once the precondition is met.","blast_radius":"The impact could be significant as attackers can access same-origin data, read administrative information, and perform actions with victim sessions, potentially leading to privilege escalation or data exfiltration.","remediation":"Upgrade to Joplin Server 3.7.7 or later to fix the vulnerability in the GET /shares/:id?resource_id= route.","detection":"Monitor for unusual GET requests to /shares/ endpoints with empty resource titles, and check for script execution patterns in shared content when users access public shares.","tags":["xss","web","server","sso"],"model":"garnet-coder","analyzedAt":"2026-10-12T08:55:02.188Z"}}