GHSA-cvp8-vvgf-69q4MediumCVSS 6.5

obsidian-tc: Default folder ACL is fail-open; .obsidian plugin secrets are readable by default

Published
October 23, 2026
Last Modified
October 23, 2026

🔗 CVE IDs covered (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.

🎯 Affected products1

  • npm/obsidian-tc:< 1.3.1

🔗 References (6)