Description
Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the default-on "Safe import" filter fails to neutralize the shareTemplate relation because that relation is not marked as dangerous, allowing an attacker-supplied import archive to plant a server-side template that leads to remote code execution. The relation is omitted from the built-in list of dangerous attributes, so unlike other code-loading relations it is not disabled on import, and when the victim later publishes the imported note the public share renderer feeds the linked EJS code note's raw bytes into ejs.render, which compiles them in the server's Node process. An unauthenticated request to the shared note then executes the attacker's JavaScript with full access to require, process, the filesystem, and the network. This issue is fixed in version 0.104.0.
Published: 2026-08-27
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Trilium allows an attacker to place server‑side template code in a note by exploiting a flaw in the Safe Import filter: the shareTemplate relation is not flagged as dangerous and is therefore not stripped or sanitized during import. When the imported note is later rendered publicly, the stored template code is passed to the ejs.render engine in the server’s Node process, enabling the execution of arbitrary JavaScript with full access to require, process, the filesystem, and the network. This results in remote code execution over an unauthenticated connection.

Affected Systems

The vulnerability exists in TriliumNext’s Trilium application in all releases before 0.104.0. Users running any unsupported version prior to this fix are exposed.

Risk and Exploitability

The CVSS score of 8.6 indicates a high severity that was not recorded in CISA KEV and has no EPSS data available. An attacker can exploit the flaw by creating a malicious import archive and sharing the note. In this scenario, any unauthenticated visitor to the shared link will trigger the template rendering and therefore the code execution. The risk is serious, especially in environments where public sharing is enabled, and the lack of mitigation or awareness measures further increases the likelihood of exploitation.

Generated by OpenCVE AI on August 28, 2026 at 06:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Trilium to version 0.104.0 or later to patch the safe‑import parsing logic.
  • Confirm that the Safe Import feature remains enabled and review security settings for note sharing to ensure only trusted content is shared.
  • Remove or re‑import any notes that may have been imported before the fix to eliminate embedded malicious templates.

Generated by OpenCVE AI on August 28, 2026 at 06:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 28 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
First Time appeared Triliumnext
Triliumnext trilium
Vendors & Products Triliumnext
Triliumnext trilium

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Description Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the default-on "Safe import" filter fails to neutralize the shareTemplate relation because that relation is not marked as dangerous, allowing an attacker-supplied import archive to plant a server-side template that leads to remote code execution. The relation is omitted from the built-in list of dangerous attributes, so unlike other code-loading relations it is not disabled on import, and when the victim later publishes the imported note the public share renderer feeds the linked EJS code note's raw bytes into ejs.render, which compiles them in the server's Node process. An unauthenticated request to the shared note then executes the attacker's JavaScript with full access to require, process, the filesystem, and the network. This issue is fixed in version 0.104.0.
Title Trilium: RCE via `shareTemplate` relation missing `isDangerous` flag — Safe import bypass leading to EJS SSTI (Incomplete Fix of CVE-2026-45668)
Weaknesses CWE-1336
CWE-94
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Triliumnext Trilium
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-29T03:56:00.591Z

Reserved: 2026-05-19T21:29:25.483Z

Link: CVE-2026-47727

cve-icon Vulnrichment

Updated: 2026-08-28T18:05:55.974Z

cve-icon NVD

Status : Received

Published: 2026-08-27T20:17:44.780

Modified: 2026-08-29T04:18:05.373

Link: CVE-2026-47727

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T06:30:18Z

Weaknesses
  • CWE-1336

    Improper Neutralization of Special Elements Used in a Template Engine

  • CWE-94

    Improper Control of Generation of Code ('Code Injection')