Описание
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.
A flaw was found in the Go MCP SDK's Streamable HTTP transport, which uses Go's standard encoding/json package. In deployments without authorization, a remote attacker can exploit this Cross-Site Request Forgery (CSRF) vulnerability. By sending browser-generated cross-site POST requests to a local server without proper validation of the Origin header or Content-Type, an attacker can potentially trigger unauthorized tool execution.
Меры по смягчению последствий
To mitigate this vulnerability, ensure that deployments utilizing the Go MCP SDK are configured with proper authorization mechanisms. This prevents unauthorized cross-site requests from triggering tool execution. Additionally, restrict network access to the local server running the SDK to trusted sources only, using firewall rules to limit exposure.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Migration Toolkit for Virtualization | migration-toolkit-virtualization/mtv-cli-download-rhel9 | Will not fix | ||
| Migration Toolkit for Virtualization | mtv-candidate/mtv-api-rhel9 | Will not fix | ||
| Migration Toolkit for Virtualization | mtv-candidate/mtv-cli-download-rhel9 | Will not fix | ||
| Migration Toolkit for Virtualization | mtv-candidate/mtv-controller-rhel9 | Will not fix | ||
| Migration Toolkit for Virtualization | mtv-candidate/mtv-operator-bundle | Will not fix | ||
| OpenShift Lightspeed | openshift-lightspeed/openshift-mcp-server-rhel9 | Not affected | ||
| OpenShift Serverless | openshift-serverless-1/kn-client-kn-rhel9 | Affected | ||
| OpenShift Serverless | openshift-serverless-1/kn-plugin-func-func-util-rhel9 | Affected | ||
| OpenShift Serverless | openshift-serverless-clients | Affected | ||
| Red Hat Hardened Images | golang1.25 | Not affected |
Показывать по
Дополнительная информация
Статус:
EPSS
7.1 High
CVSS3
Связанные уязвимости
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.
Cross-Site Tool Execution for HTTP Servers without Authorizatrion in github.com/modelcontextprotocol/go-sdk
EPSS
7.1 High
CVSS3