GitHub Advisoryadvisory · npm
GHSA-cvp8-vvgf-69q4 obsidian-tc: Default folder ACL is fail-open; .obsidian plugin secrets are readable by default
MEDIUM
Official page ↗
- Aliases
- CVE-2026-77364
- Ecosystem
- npm
- Packages
- obsidian-tc
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-200, CWE-276
- Reviewed
- 2026-10-23
Affected packages
• npm obsidian-tc: < 1.3.1 → fixed in 1.3.1
Description
Impact
With a default configuration, an undefined `readPaths`/`writePaths` meant allow-all, the `strictReadDefault` flag was inert, and the `.obsidian`/`.git`/`.trash` control directories were denied only during enumeration — not on the direct request path. A caller could read `.obsidian/plugins/*/data.json`, exfiltrating plugin API keys and Obsidian Sync passwords (live-reproduced), as well as any other in-vault file by path.
Patches
Fixed in 1.3.1. Upgrade to `>= 1.3.1`. The default now denies `.obsidian`/`.git`/`.trash` on read/write/delete and honors `strictReadDefault` on the request path.
Workarounds
Set an explicit `readPaths`/`writePaths` whitelist that excludes the control directories.
Related
Alias · CVE (1)
- CVE-2026-77364 obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. vulnerability
References
- https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-cvp8-vvgf-69q4 web
- https://github.com/The-40-Thieves/obsidian-tc/pull/73 web
- https://github.com/The-40-Thieves/obsidian-tc/commit/74de320ddea855e1dec47d67beabe88491149dab web
- https://github.com/The-40-Thieves/obsidian-tc package
- https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1 web
- https://nvd.nist.gov/vuln/detail/cve-2026-77364 advisory