Skip to main content

mcp-toolbox EUVDEUVD-2026-51373

| CVE-2026-14539 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-07-31 Google GHSA-623p-8r6m-hwc6
6.6
CVSS 4.0 · Vendor: Google
Share

Severity by source

Vendor (Google) PRIMARY
6.6 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.5 HIGH

Network-reachable endpoint, no authentication (PR:N), no complexity; only availability is impacted with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Google).

CVSS VectorVendor: Google

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Source Code Evidence Fetched
Jul 31, 2026 - 02:14 vuln.today
Analysis Generated
Jul 31, 2026 - 02:14 vuln.today

DescriptionCVE.org

An allocation of resources without limits vulnerability in the HTTP handler component of Google mcp-toolbox versions up to and including 1.4.0 allows an unauthenticated attacker to cause a denial of service (DoS). The /mcp endpoint handler reads incoming payloads directly into system memory using an unrestricted buffer loop (io.ReadAll) without applying defensive constraints such as http.MaxBytesReader or pre-read Content-Length enforcement. By submitting a single, massive HTTP request body, an attacker can linearly consume available host memory until the runtime process is terminated by an Out-Of-Memory (OOM) error.

AnalysisAI

Unbounded memory consumption in Google mcp-toolbox versions through 1.4.0 allows unauthenticated remote attackers to crash the service via a single oversized HTTP request. The /mcp endpoint's toolInvokeHandler uses Go's io.ReadAll without any body-size guard - no http.MaxBytesReader, no Content-Length pre-check - so a sufficiently large POST body linearly exhausts host RAM until the OS OOM killer terminates the process. No active exploitation is confirmed (CVSS 4.0 E:U), but the attack requires no authentication and trivial complexity, making any internet-exposed deployment an easy target for denial of service.

Technical ContextAI

Google mcp-toolbox is an open-source Model Context Protocol (MCP) server written in Go, used to expose tools to LLM-based agents over HTTP. The vulnerable component is the toolInvokeHandler function in internal/server/api.go, which processes POST requests to the /mcp and /tool/{name}/invoke endpoints. Go's io.ReadAll reads from an io.Reader until EOF, allocating heap memory as needed with no upper bound. CWE-770 (Allocation of Resources Without Limits or Throttling) is the precise root cause: the absence of http.MaxBytesReader or equivalent Content-Length enforcement before io.ReadAll means the Go runtime will honor arbitrarily large request bodies, bounded only by available physical and virtual memory. The fix in PR #3216 wraps r.Body with http.MaxBytesReader prior to reading, adds a --http-max-request-bytes CLI flag, and defaults the limit to 10,485,760 bytes (10 MB) as documented in docs/en/reference/cli.md.

RemediationAI

Apply the upstream fix from GitHub PR #3216 (https://github.com/googleapis/mcp-toolbox/pull/3216) which introduces http.MaxBytesReader on the request body before io.ReadAll, defaulting to 10,485,760 bytes (10 MB) and configurable via the --http-max-request-bytes flag (e.g., --http-max-request-bytes 2097152 for 2 MB). A released patched version number is not independently confirmed - track the mcp-toolbox releases page for a tagged version incorporating this PR. As an interim compensating control, deploy a reverse proxy such as nginx in front of mcp-toolbox and enforce client_max_body_size to an appropriate limit; note that this adds an infrastructure dependency and does not fix the application layer. Alternatively, restrict network access to the /mcp endpoint to trusted internal clients or authenticated upstream services only, accepting that this may not be viable for public-facing MCP deployments.

Share

EUVD-2026-51373 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy