All vulnerabilities
CVE-2026-77364GHSA-cvp8-vvgf-69q4

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

The-40-Thieves obsidian-tcnpmLibraries & packages
CVSS
6.5Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.24%Chance of exploitation activity in the next 30 days, higher than 14% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in1.3.1Fixed versionGitHub
Published12 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 1.3.1obsidian-tc, npmGitHubnpm install obsidian-tc@1.3.1

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from GitHub Advisory Database

Affected versions 3

  • obsidian-tc, npm< 1.3.1GitHub
  • obsidian-tcaffected: < 1.3.1CVE List
  • obsidian-tc, npmfrom first release, fixed in 1.3.1OSV

References 6