# CVE-2026-77361: obsidian-tc ACL bypass via symlink path resolution

Source: https://junglewise.ai/threats/cve-2026-77361-obsidian-tc-is-a-governed-agent-ready-model-context-protocol  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-13. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-77361 · Severity: medium · CVSS 4.7 · Published 2026-10-13

obsidian-tc is a Model Context Protocol server that governs access to Obsidian note vaults on behalf of AI agents. Before version 1.3.1, an attacker who plants a symbolic link in an allowed folder could bypass read access controls by pointing the symlink to a restricted folder, allowing file exposure without vault root escape. The vulnerability requires pre-existing symlink placement but could leak sensitive notes and data within the vault.

Technologies: [obsidian-tc (npm)](https://junglewise.ai/threats/technologies/npm-obsidian-tc), [The-40-Thieves Obsidian-Tc](https://junglewise.ai/threats/technologies/obsidian-tc). Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [The-40-Thieves](https://junglewise.ai/threats/vendors/the-40-thieves).

## Quick answers

**Is CVE-2026-77361 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-77361 being exploited in the wild.

**How severe is CVE-2026-77361?** Medium severity, with a CVSS score of 4.7, published 13 October 2026.

**Which products and versions are affected?** obsidian-tc (npm) < 1.3.1, SEMVER:introduced=0,fixed=1.3.1; The-40-Thieves Obsidian-Tc before 1.3.1.

**Is there a fix for CVE-2026-77361?** Yes. obsidian-tc (npm): upgrade to 1.3.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-77361 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-77361?** Check whether you run obsidian-tc (npm) or The-40-Thieves Obsidian-Tc at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- obsidian-tc (npm): upgrade to 1.3.1 or later

  ```sh
  npm install obsidian-tc@1.3.1
  ```


## Technical details

The vulnerability is a path canonicalization bypass in ACL enforcement: read ACL checks evaluated the lexical (as-provided) request path against the allowlist, while containment checks resolved symlinks to their true paths and discarded the result. An in-vault symlink under an allowed glob pattern that resolved to a denied folder would pass the ACL check but reach restricted files. The fix applies ACL checks to the resolved vault-relative path rather than the lexical path, and requires no new filesystem calls beyond what containment checking already performed.

## Affected products

- The-40-Thieves obsidian-tc before 1.3.1

## Identifiers

- CVE-2026-77361
- GHSA-c5xx-h28h-f682

## Timeline

- 2026-10-13: disclosed
- 2026-07-01: patched

## References

- [https://github.com/The-40-Thieves/obsidian-tc/commit/c81d1687e2cfec98a0d8bc5038c029f41ea9c920](https://github.com/The-40-Thieves/obsidian-tc/commit/c81d1687e2cfec98a0d8bc5038c029f41ea9c920)
- [https://github.com/The-40-Thieves/obsidian-tc/pull/76](https://github.com/The-40-Thieves/obsidian-tc/pull/76)

## Related threats

- [obsidian-tc entity operations data loss through unserialized SQLite writes](https://junglewise.ai/threats/cve-2026-115478-obsidian-tc-is-a-governed-agent-ready-model-context-protocol)
- [obsidian-tc improper authorization in dispatch-gated tool execution](https://junglewise.ai/threats/cve-2026-115477-obsidian-tc-is-a-governed-agent-ready-model-context-protocol)
- [obsidian-tc information disclosure via bridge tools ACL bypass](https://junglewise.ai/threats/cve-2026-77362-obsidian-tc-is-a-governed-agent-ready-model-context-protocol)
- [obsidian-tc cross-vault authorization bypass](https://junglewise.ai/threats/cve-2026-77366-obsidian-tc-is-a-governed-agent-ready-model-context-protocol)
- [obsidian-tc path traversal via undefined ACL defaults](https://junglewise.ai/threats/cve-2026-77364-obsidian-tc-is-a-governed-agent-ready-model-context-protocol)
