{"api_version":"1","generated_at":"2026-09-11T00:34:43+00:00","cve":"CVE-2026-53580","urls":{"html":"https://cve.report/CVE-2026-53580","api":"https://cve.report/api/cve/CVE-2026-53580.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53580","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53580"},"summary":{"title":"Trilium arbitrary file read and denial of service via file:// URLs in the automatic image-download feature","description":"Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the automatic image-download feature accepts file:// URLs in a note's img tags and reads the referenced local file with no path validation, allowing any authenticated user to disclose arbitrary files readable by the Trilium process. When a text note is saved, Trilium scans its HTML for image sources and downloads each external one; because the HTML sanitizer keeps file as an allowed scheme, a source such as file:///etc/passwd is passed straight to a filesystem read and its contents are stored as a note attachment the user can then retrieve. Pointing the same primitive at an unbounded source such as /dev/zero causes uncontrolled memory allocation that crashes the server process. The feature is enabled by default and is reachable through the web UI, the ETAPI, the web clipper, and note imports, requiring only an authenticated session or an ETAPI token. This issue is fixed in version 0.104.0","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-08-27 20:17:49","updated_at":"2026-09-09 16:49:20"},"problem_types":["CWE-73","CWE-400","CWE-552","CWE-73 CWE-73: External Control of File Name or Path","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-552 CWE-552: Files or Directories Accessible to External Parties"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"8.1","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","baseScore":8.1,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.1","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.1,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/TriliumNext/Trilium/commit/c417c901dfe45222c321fab1685f26730cc2068f","name":"https://github.com/TriliumNext/Trilium/commit/c417c901dfe45222c321fab1685f26730cc2068f","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/TriliumNext/Trilium/security/advisories/GHSA-3gxr-j6g6-q75c","name":"https://github.com/TriliumNext/Trilium/security/advisories/GHSA-3gxr-j6g6-q75c","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53580","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53580","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"TriliumNext","product":"Trilium","version":"affected < 0.104.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"53580","cve":"CVE-2026-53580","epss":"0.002750000","percentile":"0.196940000","score_date":"2026-09-09","updated_at":"2026-09-10 00:06:58"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-53580","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-08-28T14:55:50.585725Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-08-28T14:55:56.996Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/TriliumNext/Trilium/security/advisories/GHSA-3gxr-j6g6-q75c"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"Trilium","vendor":"TriliumNext","versions":[{"status":"affected","version":"< 0.104.0"}]}],"descriptions":[{"lang":"en","value":"Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the automatic image-download feature accepts file:// URLs in a note's img tags and reads the referenced local file with no path validation, allowing any authenticated user to disclose arbitrary files readable by the Trilium process. When a text note is saved, Trilium scans its HTML for image sources and downloads each external one; because the HTML sanitizer keeps file as an allowed scheme, a source such as file:///etc/passwd is passed straight to a filesystem read and its contents are stored as a note attachment the user can then retrieve. Pointing the same primitive at an unbounded source such as /dev/zero causes uncontrolled memory allocation that crashes the server process. The feature is enabled by default and is reachable through the web UI, the ETAPI, the web clipper, and note imports, requiring only an authenticated session or an ETAPI token. This issue is fixed in version 0.104.0"}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.1,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-73","description":"CWE-73: External Control of File Name or Path","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-400","description":"CWE-400: Uncontrolled Resource Consumption","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-552","description":"CWE-552: Files or Directories Accessible to External Parties","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-08-27T19:46:12.357Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/TriliumNext/Trilium/security/advisories/GHSA-3gxr-j6g6-q75c","tags":["x_refsource_CONFIRM"],"url":"https://github.com/TriliumNext/Trilium/security/advisories/GHSA-3gxr-j6g6-q75c"},{"name":"https://github.com/TriliumNext/Trilium/commit/c417c901dfe45222c321fab1685f26730cc2068f","tags":["x_refsource_MISC"],"url":"https://github.com/TriliumNext/Trilium/commit/c417c901dfe45222c321fab1685f26730cc2068f"}],"source":{"advisory":"GHSA-3gxr-j6g6-q75c","discovery":"UNKNOWN"},"title":"Trilium arbitrary file read and denial of service via file:// URLs in the automatic image-download feature"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-53580","datePublished":"2026-08-27T19:46:12.357Z","dateReserved":"2026-06-09T19:11:53.484Z","dateUpdated":"2026-08-28T14:55:56.996Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-27 20:17:49","lastModifiedDate":"2026-09-09 16:49:20","problem_types":["CWE-73","CWE-400","CWE-552","CWE-73 CWE-73: External Control of File Name or Path","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-552 CWE-552: Files or Directories Accessible to External Parties"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","baseScore":8.1,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.2}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-08-28T14:55:50.585725Z","id":"CVE-2026-53580","options":[{"exploitation":"poc"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53580","Ordinal":"1","Title":"Trilium arbitrary file read and denial of service via file:// UR","CVE":"CVE-2026-53580","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53580","Ordinal":"1","NoteData":"Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the automatic image-download feature accepts file:// URLs in a note's img tags and reads the referenced local file with no path validation, allowing any authenticated user to disclose arbitrary files readable by the Trilium process. When a text note is saved, Trilium scans its HTML for image sources and downloads each external one; because the HTML sanitizer keeps file as an allowed scheme, a source such as file:///etc/passwd is passed straight to a filesystem read and its contents are stored as a note attachment the user can then retrieve. Pointing the same primitive at an unbounded source such as /dev/zero causes uncontrolled memory allocation that crashes the server process. The feature is enabled by default and is reachable through the web UI, the ETAPI, the web clipper, and note imports, requiring only an authenticated session or an ETAPI token. This issue is fixed in version 0.104.0","Type":"Description","Title":"Trilium arbitrary file read and denial of service via file:// UR"}]}}}