Obsidian obsidian-tc: HITL confirmation bypass in tool execution (CVE-2026-115477)
A vulnerability in the obsidian-tc server allows malicious or non-compliant clients to execute destructive tool calls by echoing validly bound request states even after a human-in-the-loop confirmation is declined.
CVE search metadata
CVE search record: CVE-2026-115477. KEV: no. Product: obsidian-tc (>= 1.13.0, <= 1.31.3). Brief: Obsidian obsidian-tc: HITL confirmation bypass in tool execution (CVE-2026-115477). Brief link: https://feed.craftedsignal.io/briefs/2026-10-obsidian-tc-hitl-bypass/
Triage facts
Revision 1- Applicability
- obsidian-tc (>= 1.13.0, <= 1.31.3)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 1 public source
- Freshness
- Revision 1Oct 23, 21:49 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- A1Likely
A vulnerability (CVE-2026-115477) exists in the obsidian-tc server component (v1.13.0 through v1.31.3) where the server fails to properly validate human-in-the-loop (HITL) confirmation responses. When a client performs a dispatch-gated tool call, the server issues an inputRequired confirmation challenge. Due to a flaw in the validation logic, the server trusts the echoed requestState provided by the client upon resubmission as proof of approval, even if the user previously declined the action. A malicious or non-compliant client can echo this state to bypass the user's explicit refusal, allowing destructive operations such as file deletion, cross-folder moves, and frontmatter replacements.
Impact
Successful exploitation allows for unauthorized execution of destructive vault operations that a user explicitly declined. The impact is limited to dispatch-gated tools configured with destructive: true or HITL floor scopes. The server cannot verify if a client actually rendered the form to the human, meaning an attacker-controlled client can simply provide an approval response regardless of human input.
Recommendation
- Patch obsidian-tc to version 1.31.4 or later immediately.
- For environments unable to patch, transition to stdio-based deployments or unset
auth.jwtSecretto force usage of the legacy CLI-basedelicit_tokenmechanism. - Audit logs for suspicious tool call patterns where a rejection is followed by an immediate resubmission from the same client session.
Immediate actions
Upgrade obsidian-tc to version 1.31.4 or later.
Threat Hunt
Monitor application logs for tool call resubmissions following a decline response in the elicitation leg.
Data: Application audit logs
Mitigations
Run deployments over stdio or unset auth.jwtSecret to disable the affected HTTP path.
CVE-2026-115477