Local-file theft via unsanitized YAML frontmatter
Published Jul 12, 2026 · Updated Jul 12, 2026
Stored XSS in VNoteX Team VNote 3.20.0 through 3.20.1 allows context-dependent attackers to read local files via a malicious Markdown note. The YAML frontmatter callback in markdownit.js assigns p_metaData to preNode.innerHTML without sanitization, bypassing protectFromXss. Opening an attacker-supplied note executes JavaScript in the file:// viewer, where local-file access and remote requests enable data exfiltration.
Summary
What happened
Stored XSS in VNoteX Team VNote 3.20.0 through 3.20.1 allows context-dependent attackers to read local files via a malicious Markdown note. The YAML frontmatter callback in markdownit.js assigns p_metaData to preNode.innerHTML without sanitization, bypassing protectFromXss. Opening an attacker-supplied note executes JavaScript in the file:// viewer, where local-file access and remote requests enable data exfiltration.
The record
- CVE
- CVE-2026-15505
- Published
- Jul 12, 2026
- Updated
- Jul 12, 2026
- Vendor
- VNoteX Team
- Product
- VNote
- Classifications
- CWE-79, CWE-94, T1204.002
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jul 12, 2026CVE publishedPublication date reported by the CVE source.
- Jul 12, 2026Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=3.20.0
- Affected versionversion=3.20.1
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- poc.py malicious-note generatorfunctional · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo