CVE-2026-115477: obsidian-tc improper authorization in dispatch-gated tool execution

CVE-2026-115477 · Severity: high · CVSS 4 · Published 2026-10-23

obsidian-tc is a Model Context Protocol server that manages access to Obsidian note vaults for AI agents. In versions 1.13.0 to 1.31.3 with certain configurations, a client could execute destructive vault operations (overwriting notes, moving files) without proper human approval by replaying valid request state from a cancelled or declined confirmation. An attacker controlling a client could modify or delete notes in the vault while retaining the permissions of the legitimate caller.

Technologies: obsidian-tc (npm). Vendors: npm.

Quick answers

Is CVE-2026-115477 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-115477 being exploited in the wild.
How severe is CVE-2026-115477?
High severity, with a CVSS score of 4, published 23 October 2026.
Which products and versions are affected?
obsidian-tc (npm) >= 1.13.0, <= 1.31.3, SEMVER:introduced=1.13.0,fixed=1.31.4; Obsidian-Tc 1.13.0 to 1.31.3.
Is there a fix for CVE-2026-115477?
Yes. obsidian-tc (npm): upgrade to 1.31.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-115477 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-115477?
Check whether you run obsidian-tc (npm) or 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.31.4 or later
    npm install obsidian-tc@1.31.4

Technical details

The vulnerability is an improper authorization bypass in the elicitation workflow: the server validated a resubmitted tool call by checking if the requestState matched a previous call state, trusting this as proof of human approval even though the state was minted before the elicitation form was created. A client could decline or omit the elicitation response yet still execute the tool by echoing the bound requestState. Attack requires a Streamable HTTP deployment with auth.jwtSecret configured and a client supporting the elicitation.form protocol extension; stdio deployments and those without jwtSecret use a fallback mechanism and are unaffected.

Affected products

  • obsidian-tc obsidian-tc 1.13.0 to 1.31.3

Identifiers

  • CVE-2026-115477
  • GHSA-737x-cwfr-5vvc

Timeline

  • 2026-10-23: disclosed
  • 2026-10-23: patched: Version 1.31.4 released

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.