CVE-2026-35593 Trilium Notes has Local File Inclusion via upload modified file API endpoint
Authenticated attackers can read arbitrary server files via a local file inclusion vulnerability in the attachment upload API, potentially leading to remote code execution.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-35593?
CVE-2026-35593 is a medium-severity path traversal vulnerability in TriliumNext Trilium, published on 19 May 2026. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
Trilium Notes is an open-source, cross-platform hierarchical note taking application for building large personal knowledge bases. Versions 0.102.1 and prior are vulnerable to Local File Inclusion, allowing an authenticated attacker to read sensitive arbitrary files from the server's filesystem. The uploadModifiedFileToAttachment function, which is called when a POST request is received to /api/attachments/{attachmentId}/upload-modified-file, replaces the content of the attachment with the content from another file (whose path is provided in filePath of Request body). After which the content of the attachment can be viewed at /api/attachments/{attachmentId}/download. This exposes sensitive system files such as SSH keys, credentials, configs, and OS files, potentially leading to remote code execution and compromise of co-hosted applications. This issue has been fixed in version 0.102.2.
Which versions are affected by CVE-2026-35593?
How do I fix CVE-2026-35593?
No fix has been published for CVE-2026-35593 yet. Limit exposure of the affected software until one is available.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-35593 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-35593 exists.
Sources
Also known as GHSA-hf4x-22rg-pjjp.