Read the docs
TI-2026-71748 Aliases CVE-2026-77361GHSA-c5xx-h28h-f682

Symlink path mismatch in obsidian-tc bypasses read ACL restrictions

Priority LOW 20CWE-59Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
High
Impact type
Information disclosure, Security bypass
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-59, CWE-863 and the CVSS impact.

Summary

obsidian-tc, a Model Context Protocol server for Obsidian vaults, is affected before 1.3.1 and classified as CWE-59 and CWE-863. Its read access-control checks use the lexical vault-relative path while containment checks use the resolved path, so an in-vault symlink under an allowed glob that points into a denied folder bypasses the read ACL and exposes files in that folder. An attacker needs local access with low privileges and must plant the symlink out of band, but cannot escape the vault root.

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

Description from the CNA

obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, read access-control list (ACL) checks use a lexical vault-relative path while containment checks use the resolved path. An in-vault symlink under an allowed glob that resolves into a denied folder can therefore bypass the read ACL and expose files in the denied folder. Exploitation requires an out-of-band-planted symlink and does not permit an escape from the vault root. Version 1.3.1 fixes the vulnerability by applying ACL checks to the resolved vault-relative path.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00113 1st 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-c5xx-h28h-f682
  • 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-c5xx-h28h-f682

Remediation

Update the npm package obsidian-tc to version 1.3.1, which applies ACL checks to the resolved vault-relative path. The sources list no fixed version for the The-40-Thieves entry.

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

  • Fix · CNA obsidian-tc (The-40-Thieves) Fixed in 1.3.1
  • Fix · GHSA-c5xx-h28h-f682 obsidian-tc (npm) Fixed in 1.3.1 Advisory →

Timeline

  1. 2026-10-13 Threatist record created from CVE-2026-77361
  2. 2026-10-18 CISA SSVC decision points changed
  3. 2026-10-23 Alias added: GHSA-c5xx-h28h-f682
  4. 2026-10-23 Fix available: npm/[email protected] · GHSA-c5xx-h28h-f682
  5. 2026-10-23 CVSS score added · GHSA-c5xx-h28h-f682
  6. 2026-10-23 Weakness changed · GHSA-c5xx-h28h-f682
  7. 2026-10-23 6 new references · GHSA-c5xx-h28h-f682

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-71221 Default ACL in obsidian-tc exposes Obsidian control-directory secrets CVSS 3.1MEDIUM 6.5
  • TI-2026-71798 Missing read ACL checks in obsidian-tc expose note data CVSS 3.1MEDIUM 4.3

Sources