{"items":[{"id":"NVI-00010125","kind":"vulnerability","title":"SiYuan: MCP file tool's blocklist is incomplete relative to the HTTP file API it claims to align with, exposing publish-mode passwords and other sensitive workspace files","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-c8r8-95hg-mp34","CVE-2026-60083"],"plain_summary":"GitHub lists this reviewed advisory for github.com/siyuan-note/siyuan/kernel. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-b412af0d8cfc2ef658f82e65d79a50c5"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-27T14:43:58.000Z","value":"4.9 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158"},{"kind":"CVSS","as_of":"2026-10-12T16:10:00.220Z","value":"4.9 MEDIUM (3.1)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-3c5cd4bf87577f9a12a25d863521f9ae"},{"kind":"CVSS","as_of":"2026-10-12T16:10:00.220Z","value":"6.9 MEDIUM (4.0)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-3c5cd4bf87577f9a12a25d863521f9ae"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.391%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.33297. Missing scores are unknown.","source_id":"sr-b412af0d8cfc2ef658f82e65d79a50c5"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158","url":"https://github.com/advisories/GHSA-c8r8-95hg-mp34","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-c8r8-95hg-mp34","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:06:46.371Z"},{"id":"sr-3c5cd4bf87577f9a12a25d863521f9ae","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-60083","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-60083","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-04T02:46:17.217Z"},{"id":"sr-b412af0d8cfc2ef658f82e65d79a50c5","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-60083","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:20:46.865Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1f099a70b7c3fb1a5f93fdf9c3445158"],"technology":"github.com/siyuan-note/siyuan/kernel","known_exclusions":[],"conditions_summary":"## Summary\n\n`kernel/mcp/tools/file.go`'s `resolvePath()` includes an explicit comment stating its\nsensitive-path blocklist is meant to align with the HTTP file API's established blacklist\n(`refuseToAccess()` in `kernel/api/file.go`), following the remediation for GHSA-cvhv-7xhj-xjp8\n(\"Unauthenticated Administrator takeover exfiltrated via the MCP\"), which specifically\nrecommended restricting this tool's scope. In practice, the MCP tool implements only 1 of the\n4 static blocklist entries the HTTP API enforces.\n\n## Comparison\n\n`kernel/api/file.go` `refuseToAccess()` blocks:\n1. `conf/conf.json` (API token, cookie signing key, accessAuthCode)\n2. `data/snippets/conf.json`\n3. the entire `data/templates` directory\n4. `data/.siyuan/publishAccess.json`\n5. (dynamic, per-request) any path the current publish-mode session isn't authorized for\n\n`kernel/mcp/tools/file.go` `resolvePath()` blocks only:\n```go\nconfPath := filepath.Join(util.ConfDir, \"conf.json\")\nif abs == confPath {\n    return \"\", fmt.Errorf(\"access to conf.json is forbidden\")\n}\n```\nItems 2, 3, and 4 are absent. The tool's own `list`/`read`/`grep`/`find` actions remain fully\nfunctional against them.\n\n## Impact\n\nAn MCP client with ac","public_affected_ranges":["< 0.0.0-20260808051406-3542530c505f"]}],"null_published_at":"2026-11-07T00:57:04.323Z","source_updated_at":"2026-10-27T14:43:58.000Z","source_disclosed_at":"2026-10-27T14:43:57.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-10-31T22:06:46.371Z"},{"id":"NVI-00010125","kind":"vulnerability","title":"SiYuan: MCP file tool's blocklist is incomplete relative to the HTTP file API it claims to align with, exposing publish-mode passwords and other sensitive workspace files","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-c8r8-95hg-mp34","CVE-2026-60083"],"plain_summary":"GitHub lists this reviewed advisory for github.com/siyuan-note/siyuan/kernel. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-3c5cd4bf87577f9a12a25d863521f9ae"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-27T14:43:58.000Z","value":"4.9 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158"},{"kind":"CVSS","as_of":"2026-10-12T16:10:00.220Z","value":"4.9 MEDIUM (3.1)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-3c5cd4bf87577f9a12a25d863521f9ae"},{"kind":"CVSS","as_of":"2026-10-12T16:10:00.220Z","value":"6.9 MEDIUM (4.0)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-3c5cd4bf87577f9a12a25d863521f9ae"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158","url":"https://github.com/advisories/GHSA-c8r8-95hg-mp34","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-c8r8-95hg-mp34","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:06:46.371Z"},{"id":"sr-3c5cd4bf87577f9a12a25d863521f9ae","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-60083","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-60083","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-04T02:46:17.217Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1f099a70b7c3fb1a5f93fdf9c3445158"],"technology":"github.com/siyuan-note/siyuan/kernel","known_exclusions":[],"conditions_summary":"## Summary\n\n`kernel/mcp/tools/file.go`'s `resolvePath()` includes an explicit comment stating its\nsensitive-path blocklist is meant to align with the HTTP file API's established blacklist\n(`refuseToAccess()` in `kernel/api/file.go`), following the remediation for GHSA-cvhv-7xhj-xjp8\n(\"Unauthenticated Administrator takeover exfiltrated via the MCP\"), which specifically\nrecommended restricting this tool's scope. In practice, the MCP tool implements only 1 of the\n4 static blocklist entries the HTTP API enforces.\n\n## Comparison\n\n`kernel/api/file.go` `refuseToAccess()` blocks:\n1. `conf/conf.json` (API token, cookie signing key, accessAuthCode)\n2. `data/snippets/conf.json`\n3. the entire `data/templates` directory\n4. `data/.siyuan/publishAccess.json`\n5. (dynamic, per-request) any path the current publish-mode session isn't authorized for\n\n`kernel/mcp/tools/file.go` `resolvePath()` blocks only:\n```go\nconfPath := filepath.Join(util.ConfDir, \"conf.json\")\nif abs == confPath {\n    return \"\", fmt.Errorf(\"access to conf.json is forbidden\")\n}\n```\nItems 2, 3, and 4 are absent. The tool's own `list`/`read`/`grep`/`find` actions remain fully\nfunctional against them.\n\n## Impact\n\nAn MCP client with ac","public_affected_ranges":["< 0.0.0-20260808051406-3542530c505f"]}],"null_published_at":"2026-11-04T10:04:35.936Z","source_updated_at":"2026-10-27T14:43:58.000Z","source_disclosed_at":"2026-10-27T14:43:57.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T22:06:46.371Z"},{"id":"NVI-00010125","kind":"vulnerability","title":"SiYuan: MCP file tool's blocklist is incomplete relative to the HTTP file API it claims to align with, exposing publish-mode passwords and other sensitive workspace files","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-c8r8-95hg-mp34","CVE-2026-60083"],"plain_summary":"GitHub lists this reviewed advisory for github.com/siyuan-note/siyuan/kernel. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-1f099a70b7c3fb1a5f93fdf9c3445158"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-27T14:43:58.000Z","value":"4.9 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1f099a70b7c3fb1a5f93fdf9c3445158","url":"https://github.com/advisories/GHSA-c8r8-95hg-mp34","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-c8r8-95hg-mp34","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:06:46.371Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1f099a70b7c3fb1a5f93fdf9c3445158"],"technology":"github.com/siyuan-note/siyuan/kernel","known_exclusions":[],"conditions_summary":"## Summary\n\n`kernel/mcp/tools/file.go`'s `resolvePath()` includes an explicit comment stating its\nsensitive-path blocklist is meant to align with the HTTP file API's established blacklist\n(`refuseToAccess()` in `kernel/api/file.go`), following the remediation for GHSA-cvhv-7xhj-xjp8\n(\"Unauthenticated Administrator takeover exfiltrated via the MCP\"), which specifically\nrecommended restricting this tool's scope. In practice, the MCP tool implements only 1 of the\n4 static blocklist entries the HTTP API enforces.\n\n## Comparison\n\n`kernel/api/file.go` `refuseToAccess()` blocks:\n1. `conf/conf.json` (API token, cookie signing key, accessAuthCode)\n2. `data/snippets/conf.json`\n3. the entire `data/templates` directory\n4. `data/.siyuan/publishAccess.json`\n5. (dynamic, per-request) any path the current publish-mode session isn't authorized for\n\n`kernel/mcp/tools/file.go` `resolvePath()` blocks only:\n```go\nconfPath := filepath.Join(util.ConfDir, \"conf.json\")\nif abs == confPath {\n    return \"\", fmt.Errorf(\"access to conf.json is forbidden\")\n}\n```\nItems 2, 3, and 4 are absent. The tool's own `list`/`read`/`grep`/`find` actions remain fully\nfunctional against them.\n\n## Impact\n\nAn MCP client with ac","public_affected_ranges":["< 0.0.0-20260808051406-3542530c505f"]}],"null_published_at":"2026-10-31T22:13:48.416Z","source_updated_at":"2026-10-27T14:43:58.000Z","source_disclosed_at":"2026-10-27T14:43:57.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T22:06:46.371Z"}],"next_cursor":null,"snapshot_revision":"42594"}