{"schemaVersion":3,"id":"CVE-2026-32938","aliases":["GHSA-fq2j-j8hc-8vw8","GO-2026-4722"],"status":"published","duplicateOf":null,"title":null,"description":"SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the /api/lute/html2BlockDOM on the desktop copies local files pointed to by file:// links in pasted HTML into the workspace assets directory without validating paths against a sensitive-path list. Together with GET /assets/*path, which only requires authentication, a publish-service visitor can cause the desktop kernel to copy any readable sensitive file and then read it via GET, leading to exfiltration of sensitive files. This issue has been fixed in version 3.6.1.","dates":{"published":"2026-03-20T03:19:33.505Z","modified":"2026-03-20T15:47:02.647Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.9,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.9,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Go","score":9.9,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:H","exploitability":7.9,"impact":10,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00578,"percentile":0.46539,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.1640000000000001,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00414},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00578,"percentile":0.46539}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00556,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00578,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00578,"percentile":0.46539}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_SIYUAN-NOTE_SIYUAN","name":"Siyuan","source":"github","url":"https://github.com/siyuan-note/siyuan/issues/11949","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"},{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor","description":"The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/200.html"},{"id":"CWE-284","name":"Improper Access Control","description":"The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.","type":"weakness","status":"Incomplete","abstraction":"Pillar","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/284.html"}],"affected":[{"vendor":"b3log","product":"siyuan","name":"siyuan","label":"siyuan","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.6.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.6.1","eol":null,"hubHref":"/vendor/b3log/siyuan"},{"vendor":"github.com/siyuan-note/siyuan","product":"kernel","name":"github.com/siyuan-note/siyuan/kernel","label":"kernel","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/siyuan-note/siyuan/kernel","purlType":"golang","versions":[{"text":"≤ 0.0.0-20260313024916-fd6526133bb3","noFixRecorded":false,"fixedIn":null},{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"≤ 0.0.0-20260313024916-fd6526133bb3 | All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"siyuan-note","product":"siyuan","name":"siyuan","label":"siyuan","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.6.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.6.1","eol":null,"hubHref":"/vendor/siyuan-note/siyuan"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/siyuan-note/siyuan/security/advisories/GHSA-fq2j-j8hc-8vw8","label":"github.com/siyuan-note/siyuan/security/advisories/GHSA-fq2j-j8hc-8vw8","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory","Exploit","Vendor Advisory"]},{"url":"https://github.com/siyuan-note/siyuan/commit/294b8b429dea152cd1df522cddf406054c1619ad","label":"github.com/siyuan-note/siyuan/commit/294b8b429dea152cd1df522cddf406054c1619ad","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/siyuan-note/siyuan/releases/tag/v3.6.1","label":"github.com/siyuan-note/siyuan/releases/tag/v3.6.1","hostname":"github.com","tags":["X Refsource MISC","WEB","Release Notes"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32938","label":"nvd.nist.gov/vuln/detail/CVE-2026-32938","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/siyuan-note/siyuan","label":"github.com/siyuan-note/siyuan","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:1135-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21483-1","SUSE-SU-2026:1135-1"]},"timeline":[{"kind":"published","date":"2026-03-20T03:19:33.505Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-03-20T15:47:02.647Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T08:29:37.160Z","stale":false,"partial":false}}