Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-89xv-2j6f-qhc8

Опубликовано: 19 мар. 2026
Источник: github
Github: Прошло ревью
CVSS3: 7.1

Описание

Cross-Site Tool Execution for HTTP Servers without Authorizatrion in github.com/modelcontextprotocol/go-sdk

The Go SDK's Streamable HTTP transport accepted browser-generated cross-site POST requests without validating the Origin header and without requiring Content-Type: application/json. In deployments without Authorization, especially stateless or sessionless configurations, this allows an arbitrary website to send MCP requests to a local server and potentially trigger tool execution.

Impact:

A malicious website may have been able to send cross-site POST requests with Content-Type: text/plain, which due to CORS-safelisted properties would reach the MCP message handling without any CORS preflight barrier.

Fix:

The SDK was modified to perform Content-Type header validation for POST requests and introduced a configurable protection for verifying the origin of the request in commit a433a83. Users are advised to update to v1.4.1 to use this additional protection.

Note: v1.4.1 requires Go 1.25 or later.

Credits:

Thank you to Lê Minh Quân for reporting the issue.

Пакеты

Наименование

github.com/modelcontextprotocol/go-sdk

go
Затронутые версииВерсия исправления

<= 1.4.0

1.4.1

EPSS

Процентиль: 8%
0.00178
Низкий

7.1 High

CVSS3

Дефекты

CWE-352

Связанные уязвимости

CVSS3: 7.1
redhat
5 месяцев назад

The Go MCP SDK used Go's standard encoding/json. Prior to version 1.4.1, the Go SDK's Streamable HTTP transport accepted browser-generated cross-site `POST` requests without validating the `Origin` header and without requiring `Content-Type: application/json`. In deployments without Authorization, especially stateless or sessionless configurations, this allows an arbitrary website to send MCP requests to a local server and potentially trigger tool execution. Version 1.4.1 contains a patch for the issue.

CVSS3: 7.1
nvd
5 месяцев назад

The Go MCP SDK used Go's standard encoding/json. Prior to version 1.4.1, the Go SDK's Streamable HTTP transport accepted browser-generated cross-site `POST` requests without validating the `Origin` header and without requiring `Content-Type: application/json`. In deployments without Authorization, especially stateless or sessionless configurations, this allows an arbitrary website to send MCP requests to a local server and potentially trigger tool execution. Version 1.4.1 contains a patch for the issue.

EPSS

Процентиль: 8%
0.00178
Низкий

7.1 High

CVSS3

Дефекты

CWE-352