CVE-2026-53579: Trilium: Note Import to RCE via Book Note
Trilium is an open-source hierarchical note-taking application. In versions up to and including 0.103.0, the default-on "Safe import" filter sanitizes HTML only for text notes and excludes the book note type, whose content is stored without sanitization and later rendered as HTML, allowing an attacker-supplied import archive to embed a payload that executes as script. A book note's content is routed through the same rendering path as text notes and injected into the page with jQuery's html method when the note is shown as a grid-view preview card, so a malicious note survives Safe import and runs as soon as the victim opens the containing note. 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.
Security readout for executives and security teams
Plain-English summary
A malicious Trilium import can bypass the default Safe import protection. When a user opens the containing note, embedded script can run; on the desktop client, this can become full code execution on the user’s machine. Versions before 0.104.0 are affected.
Executive priority
Treat this as an urgent upgrade for affected desktop installations. A successful attack could compromise data, system integrity, and availability after a user opens imported content. Prioritize users who exchange or import Trilium archives from external parties.
Technical view
Safe import sanitizes HTML for text notes but not book notes. Unsanitized book-note content reaches the text-note rendering path and is inserted into grid previews through jQuery HTML rendering. Electron’s enabled Node integration turns renderer script injection into remote code execution on desktop clients.
Likely exposure
Exposure requires Trilium before 0.104.0 and user interaction with an attacker-supplied import archive. Desktop clients face the highest impact because script execution can reach Node capabilities. Browser-based use may still face cross-site scripting, but the supplied sources specifically associate full machine compromise with Electron.
Exploitation context
The supplied sources describe a malicious-import attack requiring the victim to import an archive and open its containing note. CVSS 4.0 rates it 9.3 with user interaction required. It is not listed as KEV, and the bundle provides no evidence of active exploitation.
Researcher notes
The trust-boundary failure combines incomplete type-specific sanitization with a shared unsafe rendering sink. CWE-79 covers the script injection; CWE-94 reflects desktop code-execution impact. The cited fix commit and advisory are the authoritative references. The bundle does not establish public exploitation, available indicators, or affected-version-specific telemetry.
Mitigation direction
Upgrade Trilium to version 0.104.0 or later.
Until upgraded, do not import archives from untrusted or unverifiable sources.
Prioritize desktop clients because Electron Node integration enables machine-level code execution.
Follow the vendor advisory for any additional operational guidance.
Validation and detection
Inventory Trilium installations and identify every version below 0.104.0.
Confirm upgraded clients report version 0.104.0 or later.
Identify users who imported externally supplied archives while running affected versions.
Review suspicious activity around imported book notes without opening potentially malicious content.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.