CVE-2026-48996
Received Received - Intake

Stored XSS in Trilium Notes via GeoMap Marker Title

Vulnerability report for CVE-2026-48996, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-27

Last updated on: 2026-08-27

Assigner: GitHub, Inc.

Description

Trilium is an open-source hierarchical note-taking application. In versions up to and including 0.103.0, the default-on "Safe import" filter does not sanitize note titles, and the GeoMap note view interpolates a marker note's title into raw HTML that is rendered as innerHTML, allowing an attacker-supplied import archive to inject script that runs when the map is displayed. Because Safe import neutralizes scripts but never escapes titles, a note whose title contains an HTML event-handler payload survives the import and executes as soon as the victim opens the GeoMap that renders its marker. On the desktop client the Electron renderer runs with Node integration enabled, so the injected JavaScript escalates from cross-site scripting to full remote code execution on the victim's machine. This issue is fixed in version 0.104.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-27
Last Modified
2026-08-27
Generated
2026-08-28
AI Q&A
2026-08-28
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
trilium trilium to 0.103.0 (inc)
trilium trilium 0.104.0
zettelkasten trilium to 0.103.0 (inc)
zettelkasten trilium 0.104.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-94 The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a cross-site scripting (XSS) flaw in Trilium, an open-source note-taking app. It occurs because the Safe Import feature fails to sanitize note titles, and the GeoMap note view renders these titles as raw HTML. When a victim opens a GeoMap containing a malicious note, the injected script executes. On the desktop client, this escalates to full remote code execution due to Electron's Node integration.

Detection Guidance

Check if your Trilium version is 0.103.0 or earlier. Inspect imported note archives for suspicious note titles containing HTML event handlers like onerror or onclick. Review GeoMap notes for unexpected script execution or unusual content rendering.

Impact Analysis

An attacker could craft a malicious note file that triggers remote code execution when imported, even with Safe Import enabled. This could allow the attacker to run arbitrary commands on your machine, such as opening applications or stealing data. The attack requires user interaction, such as opening a GeoMap note.

Mitigation Strategies

Upgrade Trilium to version 0.104.0 or later immediately. Disable Safe Import if not required. Avoid importing untrusted note archives. Monitor for unusual activity in GeoMap notes or unexpected script execution.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-48996. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart