{"id":"EUVD-2026-70410","revision":"531c4320f7ea4c6daee1f6dc718321fb","records":[{"revision":"531c4320f7ea4c6daee1f6dc718321fb","observedAt":"2026-11-09T16:06:36.578+00:00","statement":{"source":"euvd","id":"EUVD-2026-70410","aliases":["CVE-2026-85175","GHSA-gg9w-4vv2-vjcm"],"title":"SiYuan versions <= 3.8.1 (fixed in v3.8.2) contain an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/path_guard.go), which only blocks conf/conf.json by exact match and does not restrict the TLS private key (conf/key…","description":"SiYuan versions <= 3.8.1 (fixed in v3.8.2) contain an incomplete blocklist in the IsForbiddenAbsPath() function (kernel/util/path_guard.go), which only blocks conf/conf.json by exact match and does not restrict the TLS private key (conf/key.pem) or CA private key (conf/ca.key) stored in the same conf/ directory. Because the getFile handler skips the blocklist for RoleAdministrator and all authenticated users receive RoleAdministrator in v3.8.1, any user (or any client on a default no-auth-code instance) can retrieve these private keys via POST /api/file/getFile. On deployments with TLS enabled, this allows decryption of captured HTTPS traffic (key.pem) and forging of certificates trusted by clients that imported SiYuan's CA (ca.key).","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","score":8.7,"severity":null}],"references":["https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4wwp-f6gw-6qm5","https://www.vulncheck.com/advisories/siyuan-before-3.8.2-tls-private-key-disclosure-via-getfile"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-70410","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Sep 3, 2026, 11:22:22 AM","dateUpdated":"Sep 3, 2026, 12:12:14 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-70410","identifiers":["EUVD-2026-70410","CVE-2026-85175","GHSA-gg9w-4vv2-vjcm"]},"retained":false,"historicalAffected":[]}],"coverage":[]}