Skip to content
Heist/ feed
Back to feed
Medium

Trilium Notes has Local File Inclusion via upload modified file API endpoint

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-35593
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 02:19 UTC · Revision 1

Source evidence

Trilium Notes has Local File Inclusion via upload modified file API endpoint

core-osv · Original source

Published 19 May 2026, 23:32 UTC

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.

osv:CVE-2026-35593
Complete source record
{
  "id": "78f0f92cba6ba1f6bcbdca1cac19ee1a7cfbd48fecc2a786cf3f95974174ae92",
  "url": "https://osv.dev/vulnerability/CVE-2026-35593",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Trilium Notes has Local File Inclusion via upload modified file API endpoint",
    "summary": "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.",
    "evidence": "osv:CVE-2026-35593",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-35593",
      "aliases": [
        "CVE-2026-35593",
        "GHSA-hf4x-22rg-pjjp"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/triliumnext/trilium",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "bf234397923e912b4f8c5b898ab79aa37f5cc286"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.102.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "bf234397923e912b4f8c5b898ab79aa37f5cc286"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.102.2"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.102.1",
            "v0.102.0",
            "web-clipper-v1.1.1",
            "web-clipper-v1.1.0",
            "v0.101.1",
            "v0.99.4",
            "v0.99.2",
            "v0.99.0",
            "v0.98.1",
            "v0.98.0",
            "v0.97.0",
            "v0.97.2",
            "v0.96.0",
            "v0.63.6",
            "v0.62.2",
            "v0.62.1-beta",
            "v0.62.0-beta",
            "v0.61.4-beta",
            "v0.61.3-beta",
            "v0.61.2-beta",
            "v0.61.1-beta",
            "v0.61.0-beta",
            "v0.59.1",
            "v0.59.0-beta",
            "v0.58.0-beta",
            "v0.57.3",
            "v0.57.2",
            "v0.57.1-beta",
            "v0.57.0-beta",
            "v0.56.1",
            "v0.56.0-beta",
            "v0.55.1",
            "v0.55.0-beta",
            "v0.54.1-beta",
            "v0.54.0-beta",
            "v0.53.2",
            "v0.53.1-beta",
            "v0.53.0-beta",
            "v0.52.2",
            "v0.52.1-beta",
            "v0.52.0-beta",
            "v0.51.2",
            "v0.51.1-beta",
            "v0.51.0-beta",
            "v0.50.1",
            "v0.50.0-beta",
            "v0.49.4",
            "v0.49.3",
            "v0.49.2-beta",
            "v0.49.1-beta",
            "v0.49.0-beta",
            "v0.48.6.1",
            "v0.48.6-docker",
            "v0.48.6",
            "v0.48.5",
            "v0.48.4",
            "v0.48.3",
            "v0.48.2",
            "v0.48.1-beta",
            "v0.48.0-beta",
            "v0.47.0-beta",
            "v0.46.3-beta",
            "v0.46.2-beta",
            "v0.46.1-beta",
            "v0.46.0-beta",
            "v0.44.4",
            "v0.44.3-beta",
            "v0.44.2-beta",
            "v0.44.1-beta",
            "v0.44.0-beta",
            "v0.42.1",
            "v0.42.0-beta",
            "v0.41.6",
            "v0.41.5",
            "v0.41.4-beta",
            "v0.41.3-beta",
            "0.41.3",
            "v0.41.2-beta",
            "v0.41.1-beta",
            "v0.41.0-beta",
            "v0.40.0-beta",
            "v0.39.3",
            "v0.39.2-beta",
            "v0.39.1-beta",
            "v0.39.0-beta",
            "v0.38.2",
            "v0.38.1-beta",
            "v0.38.0-beta",
            "v0.37.2",
            "v0.37.1-beta",
            "v0.37.0-beta",
            "v0.36.1-beta",
            "v0.36.0-beta",
            "v0.35.1",
            "v0.35.0-beta",
            "v0.34.1",
            "v0.34.0-beta",
            "v0.33.3",
            "v0.33.2-beta",
            "v0.33.1-beta",
            "v0.33.0-beta",
            "v0.32.3",
            "v0.32.2-beta",
            "v0.32.1-beta",
            "v0.32.0-beta",
            "v0.31.3",
            "v0.31.2-beta",
            "v0.31.1-beta",
            "v0.31.0-beta",
            "v0.30.3-beta",
            "v0.30.2-beta",
            "v0.30.1-beta",
            "v0.30.0-beta",
            "v0.29.1",
            "v0.29.0-beta",
            "v0.28.3",
            "v0.28.2",
            "v0.28.1-beta",
            "v0.28.0-beta",
            "v0.27.4",
            "v0.27.3",
            "v0.27.2-beta",
            "v0.27.1-beta",
            "v0.27.0-beta",
            "v0.26.1",
            "v0.26.0-beta",
            "v0.25.1-beta",
            "v0.25.0-beta",
            "v0.24.5",
            "v0.24.4-beta",
            "v0.24.3-beta",
            "v0.24.2-beta",
            "v0.24.1-beta",
            "v0.24.0-beta",
            "v0.23.0",
            "v0.22.1",
            "v0.22.0",
            "v0.21.0",
            "v0.20.2",
            "v0.20.1",
            "v0.20.0",
            "v0.19.1",
            "v0.19.0",
            "v0.18.0",
            "v0.17.0",
            "v0.16.0",
            "v0.15.0",
            "v0.14.1",
            "v0.14.0",
            "v0.13.0-beta",
            "v0.11.1",
            "v0.11.0-beta",
            "v0.10.2-beta",
            "v0.10.1-beta",
            "v0.10.0-beta",
            "v0.8.1",
            "v0.8.0-beta",
            "v0.7.0-beta",
            "v0.6.1",
            "v0.6.0-beta",
            "v0.5.5-beta",
            "v0.5.4-beta",
            "v0.5.3-beta",
            "v0.5.2-beta",
            "v0.5.1-beta",
            "v0.5.0-beta",
            "v0.4.1",
            "v0.4.0-beta",
            "v0.3.2",
            "v0.3.1",
            "v0.3.0",
            "v0.2.2",
            "v0.2.1",
            "v0.2.0",
            "v0.1.2",
            "v0.1.1",
            "v0.1.0",
            "v0.0.11",
            "v0.0.10",
            "v0.0.9"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35593.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.125408368Z",
      "provider": "osv",
      "references": [
        "https://github.com/TriliumNext/Trilium/releases/tag/v0.102.2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35593.json",
        "https://github.com/TriliumNext/Trilium/security/advisories/GHSA-hf4x-22rg-pjjp",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-35593"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-73"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35593.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-35593",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521720,
  "published_at": "2026-05-19T23:32:54.466+00:00"
}