Search

Find a vulnerability

Search criteria

    3 vulnerabilities by The-40-Thieves

    CVE-2026-77366 (GCVE-0-2026-77366)

    Vulnerability from cvelistv5 – Published: 2026-10-12 17:54 – Updated: 2026-10-12 17:54
    VLAI
    Title
    obsidian-tc tokens can access arbitrary configured vaults
    Summary
    obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, tool dispatch does not compare the caller-controlled input.vault value with the vault bound to the caller, the JSON Web Token (JWT) has no vault claim, and the folder access-control list is shared globally. Any valid token can therefore select another configured vault and read, write, or delete its contents through affected tools. Version 1.3.1 fixes the vulnerability by binding tokens and request context to a vault and rejecting mismatched input.vault values before scope checks.
    CWE
    • CWE-639 - Authorization Bypass Through User-Controlled Key
    • CWE-863 - Incorrect Authorization
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7551 records in the last 180 days details
    Impacted products
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "obsidian-tc",
              "vendor": "The-40-Thieves",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.3.1"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, tool dispatch does not compare the caller-controlled input.vault value with the vault bound to the caller, the JSON Web Token (JWT) has no vault claim, and the folder access-control list is shared globally. Any valid token can therefore select another configured vault and read, write, or delete its contents through affected tools. Version 1.3.1 fixes the vulnerability by binding tokens and request context to a vault and rejecting mismatched input.vault values before scope checks."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 9.9,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-639",
                  "description": "CWE-639: Authorization Bypass Through User-Controlled Key",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863: Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-12T17:54:31.642Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-84c9-qqpq-2pq5",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-84c9-qqpq-2pq5"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/pull/72",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/pull/72"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/commit/38b4992e87dc2715564236e1a42d005ab05a0194",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/commit/38b4992e87dc2715564236e1a42d005ab05a0194"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1"
            }
          ],
          "source": {
            "advisory": "GHSA-84c9-qqpq-2pq5",
            "discovery": "UNKNOWN"
          },
          "title": "obsidian-tc tokens can access arbitrary configured vaults"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-77366",
        "datePublished": "2026-10-12T17:54:31.642Z",
        "dateReserved": "2026-08-20T19:36:13.804Z",
        "dateUpdated": "2026-10-12T17:54:31.642Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-77364 (GCVE-0-2026-77364)

    Vulnerability from cvelistv5 – Published: 2026-10-12 17:52 – Updated: 2026-10-12 17:52
    VLAI
    Title
    obsidian-tc fail-open default ACL exposes Obsidian control-directory secrets
    Summary
    obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, undefined readPaths and writePaths settings allow all paths, strictReadDefault does not protect direct requests, and the .obsidian, .git, and .trash control directories are excluded only during enumeration. An authenticated caller can directly read sensitive files such as .obsidian/plugins/*/data.json, potentially exposing plugin API keys, Obsidian Sync passwords, and other in-vault data. Version 1.3.1 fixes the vulnerability by denying the control directories by default and enforcing strictReadDefault on direct request paths.
    CWE
    • CWE-200 - Exposure of Sensitive Information to an Unauthorized Actor
    • CWE-276 - Incorrect Default Permissions
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7551 records in the last 180 days details
    Impacted products
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "obsidian-tc",
              "vendor": "The-40-Thieves",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.3.1"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. Prior to 1.3.1, undefined readPaths and writePaths settings allow all paths, strictReadDefault does not protect direct requests, and the .obsidian, .git, and .trash control directories are excluded only during enumeration. An authenticated caller can directly read sensitive files such as .obsidian/plugins/*/data.json, potentially exposing plugin API keys, Obsidian Sync passwords, and other in-vault data. Version 1.3.1 fixes the vulnerability by denying the control directories by default and enforcing strictReadDefault on direct request paths."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-200",
                  "description": "CWE-200: Exposure of Sensitive Information to an Unauthorized Actor",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-276",
                  "description": "CWE-276: Incorrect Default Permissions",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-12T17:52:51.653Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-cvp8-vvgf-69q4",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-cvp8-vvgf-69q4"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/pull/73",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/pull/73"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/commit/74de320ddea855e1dec47d67beabe88491149dab",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/commit/74de320ddea855e1dec47d67beabe88491149dab"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1"
            }
          ],
          "source": {
            "advisory": "GHSA-cvp8-vvgf-69q4",
            "discovery": "UNKNOWN"
          },
          "title": "obsidian-tc fail-open default ACL exposes Obsidian control-directory secrets"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-77364",
        "datePublished": "2026-10-12T17:52:51.653Z",
        "dateReserved": "2026-08-20T19:28:35.245Z",
        "dateUpdated": "2026-10-12T17:52:51.653Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-77363 (GCVE-0-2026-77363)

    Vulnerability from cvelistv5 – Published: 2026-10-12 17:45 – Updated: 2026-10-12 17:45
    VLAI
    Title
    obsidian-tc Streamable HTTP transport permits cross-origin loopback vault access
    Summary
    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.
    CWE
    • CWE-346 - Origin Validation Error
    • CWE-1385 - Missing Origin Validation in WebSockets
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7551 records in the last 180 days details
    Impacted products
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "obsidian-tc",
              "vendor": "The-40-Thieves",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 1.3.1"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "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."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-346",
                  "description": "CWE-346: Origin Validation Error",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-1385",
                  "description": "CWE-1385: Missing Origin Validation in WebSockets",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-12T17:45:57.107Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-pqh8-4pj7-32xx",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/security/advisories/GHSA-pqh8-4pj7-32xx"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/pull/74",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/pull/74"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/commit/6428bfe6fdfd43aa7b4b369be3aecd6a268fb928",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/commit/6428bfe6fdfd43aa7b4b369be3aecd6a268fb928"
            },
            {
              "name": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/The-40-Thieves/obsidian-tc/releases/tag/v1.3.1"
            }
          ],
          "source": {
            "advisory": "GHSA-pqh8-4pj7-32xx",
            "discovery": "UNKNOWN"
          },
          "title": "obsidian-tc Streamable HTTP transport permits cross-origin loopback vault access"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-77363",
        "datePublished": "2026-10-12T17:45:57.107Z",
        "dateReserved": "2026-08-20T19:28:35.245Z",
        "dateUpdated": "2026-10-12T17:45:57.107Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }