{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-59814", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-07-07T15:00:50.978Z", "datePublished": "2026-09-21T21:13:17.395Z", "dateUpdated": "2026-09-21T21:13:17.395Z"}, "containers": {"cna": {"title": "Joplin: Stored XSS via inline-served note attachment on published shares", "problemTypes": [{"descriptions": [{"cweId": "CWE-79", "lang": "en", "description": "CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')", "type": "CWE"}]}], "metrics": [{"cvssV3_1": {"attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.6, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N", "version": "3.1"}}], "references": [{"name": "https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh", "tags": ["x_refsource_CONFIRM"], "url": "https://github.com/laurent22/joplin/security/advisories/GHSA-mx98-7h4g-6gmh"}, {"name": "https://github.com/laurent22/joplin/pull/15787", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/pull/15787"}, {"name": "https://github.com/laurent22/joplin/commit/920cd8f463bf9bbce9daa07581676123007118e5", "tags": ["x_refsource_MISC"], "url": "https://github.com/laurent22/joplin/commit/920cd8f463bf9bbce9daa07581676123007118e5"}], "affected": [{"vendor": "laurent22", "product": "joplin", "versions": [{"version": "< 3.7.7", "status": "affected"}]}], "providerMetadata": {"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-09-21T21:13:17.395Z"}, "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.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."}], "source": {"advisory": "GHSA-mx98-7h4g-6gmh", "discovery": "UNKNOWN"}}}}