Impact
The vulnerability in obsidian‑tc allows any valid JSON Web Token to be used with a different input.vault value than the vault bound to the caller. Because the tool dispatch does not compare the caller‑controlled input.vault, the absence of a vault claim in the JWT, and the global sharing of folder ACLs, an attacker can read, write, or delete the contents of any configured vault. This results in a loss of confidentiality, integrity, and availability for those vaults. The weakness is a direct authorization bypass, identified as CWE‑639 and an incorrect access control flaw (CWE‑863).
Affected Systems
Affected products are hosted by The‑40‑Thieves:obsidian‑tc. The vulnerability exists in all releases prior to v1.3.1. The precise version range includes every release from the initial commit up through the previous tag; only v1.3.1 and later contain the fix that binds tokens and request context to a vault and rejects mismatched input.vault values before performing scope checks.
Risk and Exploitability
The CVSS score of 9.9 indicates a critical severity. EPSS is not available, so the probability of exploitation cannot be quantified, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is remote: an attacker who has a valid JWT can supply any vault identifier to the tool dispatch endpoint, effectively escalating privileges to other vaults. An attacker could therefore exfiltrate sensitive notes, modify or delete content, or impersonate other users without additional access rights.
OpenCVE Enrichment
Github GHSA