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.
Published: 2026-09-21
Score: 7.6 High
EPSS: n/a
KEV: No
Impact: Stored XSS leading to data theft and authenticated actions
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a stored XSS triggered through an inline‑served note attachment when a shared note has an empty title and a MIME type of image/svg+xml. An attacker can upload an empty‑title attachment containing malicious JavaScript; when a user opens the public share, the script executes in the context of the Joplin Server’s origin. Because the user‑content shares the same origin by default, the script can read protected admin data, fetch anti‑CSRF tokens, and perform authenticated actions on behalf of the victim. Even installations that redirect user content to a separate origin still allow execution in that new origin rather than the main application origin, so the exposed reach is not eliminated.

Affected Systems

The weakness affects Joplin Server installations running a version earlier than 3.7.7. This includes all servers that provide the GET /shares/:id?resource_id= endpoint and allow attachments with MIME type image/svg+xml and empty titles to be published via the public share functionality. The vendors involved are Joplin by laurent22.

Risk and Exploitability

The CVSS score is 7.6, indicating a high severity. The EPSS score is not available, so we cannot quantify current exploitation likelihood, but the lack of KEV listing suggests no known active exploitation at present. The attack requires a low‑privileged user to publish a malicious attachment and a victim to open the public share URL. If such a shared link is distributed to a user who is logged into Joplin, the browser will execute the script and allow the attacker to perform same‑origin actions. Because the script runs in the browser context tied to the Joplin Server origin, it is relatively easy to achieve the payload once the share is accessed, making exploitation straightforward for an attacker who can entice or trick a victim into viewing the shared note.

Generated by OpenCVE AI on September 21, 2026 at 22:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Joplin Server version 3.7.7 or later to apply the fix that validates attachment titles and MIME types.
  • If upgrading immediately is not feasible, enforce non‑empty titles on attachments or disallow image/svg+xml attachments in public shares.
  • Consider configuring USER_CONTENT_BASE_URL to a different origin and enforcing a content security policy that blocks inline script execution for shared content.

Generated by OpenCVE AI on September 21, 2026 at 22:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 21 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
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.
Title Joplin: Stored XSS via inline-served note attachment on published shares
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-21T21:13:17.395Z

Reserved: 2026-07-07T15:00:50.978Z

Link: CVE-2026-59814

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-21T22:16:57.050

Modified: 2026-09-21T22:16:57.050

Link: CVE-2026-59814

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-21T22:45:17Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')