CVE-2026-77363
Received Received - Intake

Obsidian-tc MCP Server Local Access Bypass

Vulnerability report for CVE-2026-77363, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-12

Last updated on: 2026-10-12

Assigner: GitHub, Inc.

Description

obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, the Streamable HTTP transport does not validate the Host or Origin header or enable DNS-rebinding protection. When the documented loopback configuration uses auth.mode set to none, a malicious web page can send requests to the local MCP endpoint and receive unrestricted vault access through the http-local caller. Version 1.3.1 fixes the vulnerability by enabling host, origin, and DNS-rebinding validation.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-12
Last Modified
2026-10-12
Generated
2026-10-13
AI Q&A
2026-10-12
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
The-40-Thieves obsidian-tc < 1.3.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-346 The product does not properly verify that the source of data or communication is valid.
CWE-1385 The product uses a WebSocket, but it does not properly verify that the source of data or communication is valid.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects obsidian-tc versions before 1.3.1. The Streamable HTTP transport fails to validate Host or Origin headers or implement DNS-rebinding protection. When auth.mode is set to none on loopback interfaces, a malicious web page can send a POST request to http://127.0.0.1:<port>/mcp and gain full vault access through the http-local caller.

Detection Guidance

Check if obsidian-tc is running on a vulnerable version (<1.3.1) by inspecting installed packages or running 'npm list obsidian-tc'. Verify if the HTTP transport is exposed with auth.mode set to 'none' by checking configuration files or environment variables. Test for unauthorized access by attempting a POST request to http://127.0.0.1:<port>/mcp with a forged Origin header.

  • Use curl to send a test request: curl -X POST -H 'Origin: http://malicious.com' http://127.0.0.1:<port>/mcp. A vulnerable system will return a response instead of a 403 error.
Impact Analysis

A malicious actor could exploit this to gain unauthorized access to your Obsidian vault, potentially reading or modifying sensitive data. This could occur if you use the default auth.mode:none setting on loopback interfaces without proper protections.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating confidentiality requirements in GDPR and HIPAA. Unauthorized access may result in data breaches, triggering compliance violations and potential legal penalties.

Mitigation Strategies

Upgrade obsidian-tc to version 1.3.1 or later immediately. If upgrading is not possible, disable the HTTP transport with auth.mode set to 'none' or bind it to a non-loopback interface behind a proxy that validates the Origin header.

  • Configure DNS-rebinding protection and Origin validation by setting transports.http.enableDnsRebindingProtection to true and specifying allowedHosts and allowedOrigins in the configuration.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-77363. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart