Read the docs
TI-2026-71222 Aliases CVE-2026-77366GHSA-84c9-qqpq-2pq5

Authorization bypass in obsidian-tc lets tokens access other vaults

Priority MEDIUM 43CWE-639Published · Updated

Key facts

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

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

Summary

The obsidian-tc Model Context Protocol server for Obsidian vaults, before 1.3.1, does not check that the caller-controlled input.vault value matches the vault bound to the caller (CWE-639). A holder of any valid token can select another configured vault and read, write, or delete its contents through affected tools.

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, tool dispatch does not compare the caller-controlled input.vault value with the vault bound to the caller, the JSON Web Token (JWT) has no vault claim, and the folder access-control list is shared globally. Any valid token can therefore select another configured vault and read, write, or delete its contents through affected tools. Version 1.3.1 fixes the vulnerability by binding tokens and request context to a vault and rejecting mismatched input.vault values before scope checks.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00309 23rd 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
Total

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-84c9-qqpq-2pq5
  • 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-84c9-qqpq-2pq5

Remediation

Upgrade the npm package obsidian-tc to version 1.3.1, which binds tokens and request context to a vault. The sources list no fixed version for the obsidian-tc entry from The-40-Thieves.

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-84c9-qqpq-2pq5 obsidian-tc (npm) Fixed in 1.3.1 Advisory →

Timeline

  1. 2026-10-12 Threatist record created from CVE-2026-77366
  2. 2026-10-13 CISA SSVC decision points changed
  3. 2026-10-23 Alias added: GHSA-84c9-qqpq-2pq5
  4. 2026-10-23 Fix available: npm/[email protected] · GHSA-84c9-qqpq-2pq5
  5. 2026-10-23 CVSS score added · GHSA-84c9-qqpq-2pq5
  6. 2026-10-23 Weakness changed · GHSA-84c9-qqpq-2pq5
  7. 2026-10-23 6 new references · GHSA-84c9-qqpq-2pq5

References

  • TI-2026-79945 Declined confirmations in obsidian-tc permit destructive tool calls CVSS 4.0HIGH 7.1
  • 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-71221 Default ACL in obsidian-tc exposes Obsidian control-directory secrets CVSS 3.1MEDIUM 6.5
  • 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