Note Mark has Stored XSS via Unrestricted Asset Upload
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution, Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-434 and CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| enchant97 | note-mark | before 0.19.2 | 0.19.2 | Patch available | CNA |
| — | github.com/enchant97/note-mark/backend (Go) | before 0.0.0-20260411145018-6bb62842ccb9 | 0.0.0-20260411145018-6bb62842ccb9 | Patch available | GHSA-9pr4-rf97-79qh |
- note-mark Vendorenchant97 Affected before 0.19.2 Fixed in 0.19.2 Patch available CNA
- github.com/enchant97/note-mark/backend (Go) Vendor— Affected before 0.0.0-20260411145018-6bb62842ccb9 Fixed in 0.0.0-20260411145018-6bb62842ccb9 Patch available GHSA-9pr4-rf97-79qh
Remediation
- Fix · CNA note-mark (enchant97) Fixed in 0.19.2
- Fix · GHSA-9pr4-rf97-79qh github.com/enchant97/note-mark/backend (Go) Fixed in 0.0.0-20260411145018-6bb62842ccb9 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40262
- 2026-10-03 Alias added: GHSA-9pr4-rf97-79qh
References
More enchant97 vulnerabilities
- TI-2026-32452 Note Mark: JWT Secret Weakness allows Full Account Takeover via token forgery CVSS 3.1CRITICAL 10.0
- TI-2026-30126 Note Mark: OIDC-registered users authenticated by submitting password "null" CVSS 3.1CRITICAL 9.4
- TI-2026-37275 Note Mark: Path traversal via unsanitized book/note slug in migrate export (sibling of GHSA-g49p) CVSS 4.0HIGH 8.6
- TI-2026-32451 Note Mark: Arbitrary File Write via Path Traversal in Asset Names Leading to Remote Code Execution CVSS 4.0HIGH 8.6
- TI-2026-37276 Note Mark: Unauthenticated disclosure of soft-deleted note metadata via deleted=true on public books in note-mark CVSS 3.1MEDIUM 5.3
- TI-2026-30127 Note Mark: Unauthenticated read of notes and assets in soft-deleted public books CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-40262 · CVE Program
- CVE-2026-40262 · NVD
- FIRST EPSS
- GHSA-9pr4-rf97-79qh · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences