CVE-2026-115477: CVE-2026-115477: Human-in-the-Loop Authorization Bypass in obsidian-tc
CVE-2026-115477: Human-in-the-Loop Authorization Bypass in obsidian-tc Vulnerability ID: CVE-2026-115477 CVSS Score: 7.1 Published: 2026-10-23 A high-severity authorization bypass vulnerability in obsidian-tc allows
CVE-2026-115477: Human-in-the-Loop Authorization Bypass in obsidian-tc
Vulnerability ID: CVE-2026-115477
CVSS Score: 7.1
Published: 2026-10-23
A high-severity authorization bypass vulnerability in obsidian-tc allows clients to bypass Human-In-The-Loop (HITL) confirmation prompts over Streamable HTTP deployments. Due to incomplete validation of returned prompt responses, an attacker echoing a signed requestState token can force execution of destructive vault operations even if a human user declines or cancels the prompt.
TL;DR
In obsidian-tc prior to version 1.31.4, echoing a valid requestState token causes the server to execute destructive tool calls regardless of whether the user explicitly declined or canceled the prompt.
Technical Details
- CWE ID: CWE-285 / CWE-863
- CVSS v4.0: 7.1 (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N)
- Attack Vector: Network
- EPSS Score: N/A
- CISA KEV Status: Not Listed
- Exploit Status: No Public Weaponized Exploit
- Impact: High Integrity (Unauthorized Destructive Operations)
Affected Systems
- obsidian-tc over Streamable HTTP deployments with auth.jwtSecret configured
-
obsidian-tc: >= 1.13.0, < 1.31.4 (Fixed in:
1.31.4)
Code Analysis
Commit: 101c91c
fix(mcp): inspect inputResponses and resolveElicitConfirmation before setting elicitState
mcp/elicit-form.ts: inspect inputResponses; set elicitState only if action === 'accept' && content.approve === true
Mitigation Strategies
- Upgrade obsidian-tc to version 1.31.4 or higher.
- Deploy obsidian-tc using stdio transport instead of Streamable HTTP.
- Unset auth.jwtSecret on HTTP deployments to force single-use token validation.
Remediation Steps:
- Update the package dependency in package.json to obsidian-tc ^1.31.4.
- Run npm install obsidian-tc@latest.
- Restart the obsidian-tc MCP server.
- Verify tool call confirmation behavior using a test decline request.
References
- GitHub Security Advisory GHSA-737x-cwfr-5vvc
- NVD CVE-2026-115477 Detail
- CVE Program Record CVE-2026-115477
- Fix Commit 101c91c656e2c2b88bcf3696a5da035f8c032c71
- GitHub Pull Request #969
- GitHub Issue #967
- Release v1.31.4
- Repository Changelog
Read the full report for CVE-2026-115477 on our website for more details including interactive diagrams and full exploit analysis.
Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.