Read the docs
TI-2026-71221 Aliases CVE-2026-77364GHSA-cvp8-vvgf-69q4

Default ACL in obsidian-tc exposes Obsidian control-directory secrets

Priority LOW 28CWE-200Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200.

Summary

obsidian-tc, a Model Context Protocol server for Obsidian vaults, is affected before 1.3.1. Undefined readPaths and writePaths settings allow all paths, and the .obsidian, .git and .trash control directories are excluded only during enumeration, so direct requests are not blocked. An authenticated caller can read files such as .obsidian/plugins/*/data.json directly, which can expose plugin API keys, Obsidian Sync passwords and other in-vault data (CWE-276, CWE-200). The record's CVSS 3.1 base score is 6.5 (Medium), and CISA SSVC marks the technical impact as partial.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, undefined readPaths and writePaths settings allow all paths, strictReadDefault does not protect direct requests, and the .obsidian, .git, and .trash control directories are excluded only during enumeration. An authenticated caller can directly read sensitive files such as .obsidian/plugins/*/data.json, potentially exposing plugin API keys, Obsidian Sync passwords, and other in-vault data. Version 1.3.1 fixes the vulnerability by denying the control directories by default and enforcing strictReadDefault on direct request paths.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00239 15th percentileScored 2026-11-07
Fix Fixed obsidian-tc (The-40-Thieves): 1.3.1obsidian-tc (npm): 1.3.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
The-40-Thievesobsidian-tcbefore 1.3.11.3.1Patch availableCNA
—obsidian-tc (npm)before 1.3.11.3.1Patch availableGHSA-cvp8-vvgf-69q4
  • obsidian-tc VendorThe-40-Thieves Affected before 1.3.1 Fixed in 1.3.1 Patch available CNA
  • obsidian-tc (npm) Vendor— Affected before 1.3.1 Fixed in 1.3.1 Patch available GHSA-cvp8-vvgf-69q4

Remediation

Upgrade the npm package obsidian-tc to version 1.3.1, which denies the control directories by default and enforces strictReadDefault on direct request paths. The sources list no fixed version for The-40-Thieves obsidian-tc outside the npm package.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA obsidian-tc (The-40-Thieves) Fixed in 1.3.1
  • Fix · GHSA-cvp8-vvgf-69q4 obsidian-tc (npm) Fixed in 1.3.1 Advisory →

Timeline

  1. 2026-10-12 Threatist record created from CVE-2026-77364
  2. 2026-10-13 Priority changed: MEDIUM → LOW
  3. 2026-10-16 CISA SSVC decision points changed
  4. 2026-10-23 Alias added: GHSA-cvp8-vvgf-69q4
  5. 2026-10-23 Fix available: npm/[email protected] · GHSA-cvp8-vvgf-69q4
  6. 2026-10-23 CVSS score added · GHSA-cvp8-vvgf-69q4
  7. 2026-10-23 Weakness changed · GHSA-cvp8-vvgf-69q4
  8. 2026-10-23 6 new references · GHSA-cvp8-vvgf-69q4

References

  • TI-2026-79945 Declined confirmations in obsidian-tc permit destructive tool calls CVSS 4.0HIGH 7.1
  • TI-2026-71222 Authorization bypass in obsidian-tc lets tokens access other vaults CVSS 3.1CRITICAL 9.9
  • TI-2026-71220 Missing origin checks in obsidian-tc expose local vault to web pages CVSS 3.1HIGH 8.8
  • TI-2026-79946 Memory tools in obsidian-tc overwrite unowned notes on disk CVSS 4.0HIGH 7.1
  • TI-2026-71748 Symlink path mismatch in obsidian-tc bypasses read ACL restrictions CVSS 3.1MEDIUM 4.7
  • TI-2026-71798 Missing read ACL checks in obsidian-tc expose note data CVSS 3.1MEDIUM 4.3

Sources