Description
Note Mark is an open-source note-taking application. In versions 0.19.1 and prior, the asset delivery handler serves uploaded files inline and relies on magic-byte detection for content type, which does not identify text-based formats such as HTML, SVG, or XHTML. These files are served with an empty Content-Type, no X-Content-Type-Options: nosniff header, and inline disposition, allowing browsers to sniff and render active content. An authenticated user can upload an HTML or SVG file containing JavaScript as a note asset, and when a victim navigates to the asset URL, the script executes under the application's origin with access to the victim's authenticated session and API actions. This issue has been fixed in version 0.19.2.
Published: 2026-04-16
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Immediate Patch
AI Analysis

Impact

Note Mark allows an authenticated user to upload any file as a note asset. In versions 0.19.1 and earlier, the asset delivery handler serves uploaded files inline and relies solely on magic‑byte detection to determine MIME type. This approach fails to flag text‑based formats such as HTML, SVG, or XHTML, so the files are served with an empty Content‑Type header, no X‑Content‑Type‑Options: nosniff header and an inline disposition. Modern browsers therefore sniff and render the content, allowing embedded scripts to execute. An attacker can thus upload a malicious HTML or SVG file containing JavaScript; when a victim visits the asset’s URL, the script runs in the context of the Note Mark application, giving the attacker access to the victim’s authenticated session and the ability to perform API actions on their behalf, effectively compromising confidentiality, integrity, and availability for that user.

Affected Systems

The vulnerability is present only in the open‑source Note Mark notebook application produced by the CNA enchant97:note‑mark. It applies to all releases up to and including 0.19.1. The fix was released in version 0.19.2, which stops serving uploaded files inline and properly validates content types.

Risk and Exploitability

The CVSS base score of 8.7 indicates high severity for cross‑site scripting. There is no EPSS data available, and the vulnerability is not listed in the CISA KEV catalog. The attack requires an authenticated user with upload privileges to place the malicious file and a victim who subsequently opens that asset URL. While upload access is not open to the entire internet, it is typically available to regular users within the application, so an attacker with that capability can easily compromise other users who view the malicious note.

Generated by OpenCVE AI on April 17, 2026 at 02:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Note Mark to version 0.19.2 or later
  • Enforce server‑side file‑type validation to block or reject HTML, SVG, and XHTML uploads
  • Set strict Content‑Type headers, enable X‑Content‑Type‑Options: nosniff, and serve assets with an attachment disposition instead of inline

Generated by OpenCVE AI on April 17, 2026 at 02:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9pr4-rf97-79qh Note Mark has Stored XSS via Unrestricted Asset Upload
History

Sat, 18 Apr 2026 03:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 17 Apr 2026 08:15:00 +0000

Type Values Removed Values Added
First Time appeared Enchant97
Enchant97 note-mark
Vendors & Products Enchant97
Enchant97 note-mark

Fri, 17 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
Description Note Mark is an open-source note-taking application. In versions 0.19.1 and prior, the asset delivery handler serves uploaded files inline and relies on magic-byte detection for content type, which does not identify text-based formats such as HTML, SVG, or XHTML. These files are served with an empty Content-Type, no X-Content-Type-Options: nosniff header, and inline disposition, allowing browsers to sniff and render active content. An authenticated user can upload an HTML or SVG file containing JavaScript as a note asset, and when a victim navigates to the asset URL, the script executes under the application's origin with access to the victim's authenticated session and API actions. This issue has been fixed in version 0.19.2.
Title Note Mark has Stored XSS via Unrestricted Asset Upload
Weaknesses CWE-434
CWE-79
References
Metrics cvssV3_1

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


Subscriptions

Enchant97 Note-mark
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-18T02:51:02.474Z

Reserved: 2026-04-10T17:31:45.787Z

Link: CVE-2026-40262

cve-icon Vulnrichment

Updated: 2026-04-18T02:50:58.266Z

cve-icon NVD

Status : Deferred

Published: 2026-04-17T01:17:39.950

Modified: 2026-04-17T15:29:25.583

Link: CVE-2026-40262

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-17T08:01:21Z

Weaknesses