Skip to main content

ToolHive EUVDEUVD-2026-83167

| CVE-2026-58197 HIGH
Improper Access Control (CWE-284)
2026-09-18 GitHub_M GHSA-qg2g-g9w3-m5h8
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Operator runs malicious MCP server under ToolHive
  2. Delivery
    Container reaches Docker gateway (host.docker.internal / 172.17.0.1)
  3. Exploit
    Contact unauthenticated ToolHive API and sibling MCP proxies
  4. Execution
    Invoke sibling tools and alter workload state
  5. Impact
    Exfiltrate data/logs and disrupt services

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires ToolHive CLI prior to 0.30.1 or ToolHive Studio prior to 0.38.0 running MCP servers on a Docker runtime with the DEFAULT (no network isolation) permission profile - for Studio this is aggravated because it explicitly sends network_isolation=false, overriding the backend's secure isolation default. The attacker's foothold is a malicious or compromised MCP server that the operator chooses to run (UI:R); once running, the un-isolated container reaches Docker gateway addresses (host.docker.internal, gateway.docker.internal, 172.17.0.1) and the ToolHive API / MCP proxy endpoints, which are reachable without authentication. Limiting factors: exploitation depends on the operator trusting and launching a hostile MCP server, a Docker deployment, and the pre-0.30.1/0.38.0 default config; environments that already enabled network isolation or that don't run untrusted MCP servers are not realistically exposed.

Impact

The vendor CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H = 8.8) rates this High/Critical, and the mechanics support serious impact: a malicious or compromised MCP server run under a vulnerable ToolHive gets, by default, an un-isolated container network that can reach the Docker gateway (host.docker.internal / gateway.docker.internal / 172.17.0.1) and, crucially, ToolHive's own API and MCP proxy endpoints which are reachable WITHOUT authentication - yielding data/log exposure, invocation of sibling MCP tools, workload-state tampering, and service disruption (justifying C:H/I:H/A:H and the S:C scope change from container to control plane). However, no exploitation-probability signals reinforce the raw score: EPSS is not provided, the CVE is not in CISA KEV, and no public PoC is referenced - so per available data this is 'no public exploit identified at time of analysis,' not active exploitation. The single most important limiting factor is UI:R: exploitation presupposes that the operator actually runs a hostile/compromised MCP server, so realistic risk is dominated by MCP-server supply-chain trust rather than opportunistic remote attack. I differ from the vendor on attack vector: the primary precondition is running a container on the host, which reads more like AV:L than AV:A (the Docker bridge is 'adjacent' only in a loose sense) - verify with the vendor. Net: a genuine and well-understood design weakness worth prompt patching for anyone running untrusted MCP servers, but its low deployment footprint and dependence on user action make it a targeted/insider-trust risk rather than a mass-exploitation priority.

Exploit ScenarioDerived

An operator adds and runs a malicious (or later-compromised) MCP server image under an unpatched ToolHive CLI (<0.30.1) or ToolHive Studio (<0.38.0), where network isolation is off by default (Studio even sends network_isolation=false, overriding the backend's secure default). The container uses the Docker gateway to reach the unauthenticated ToolHive API and sibling MCP proxy endpoints, reading data/logs, invoking other MCP tools, and altering workload state without ever escaping the container. No public PoC is referenced, but the fix PRs (toolhive#5583, toolhive-studio#2469) publicly document the exact default-isolation and Docker-gateway behavior.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Malicious or compromised Model Context Protocol (MCP) server containers run under ToolHive CLI before 0.30.1 or ToolHive Studio before 0.38.0 are not network-isolated by default, allowing them to reach Docker gateway addresses (host.docker.internal, gateway.docker.internal, 172.17.0.1) and, critically, ToolHive's own API and MCP proxy endpoints, which are reachable without authentication (CVSS vector PR:N). A hostile MCP server can therefore read exposed data and logs, invoke sibling MCP tools, alter process or workload state, and disrupt services without ever escaping the container, with the scope change (S:C) reflecting a pivot from the container into the ToolHive control plane; exploitation requires user interaction because an operator must choose to run the untrusted server (UI:R). The vendor rates this 8.8 (High/Critical); no public exploit code was identified at time of analysis and the issue is not in CISA KEV, though the impact is severe for anyone running third-party MCP servers on Docker with default settings. Fixes are available in ToolHive CLI 0.30.1 and ToolHive Studio 0.38.0, which flip network isolation to enabled by default.

RemediationAI

Vendor-released patch: upgrade to ToolHive CLI 0.30.1 and ToolHive Studio 0.38.0, which change the --isolate-network flag default from false to true (opt out only with --isolate-network=false), make the API network_isolation field a pointer so an omitted value defaults to isolation ENABLED, and block Docker gateway addresses in the egress proxy unless allow_docker_gateway is explicitly set. Until upgrades can be deployed, run all MCP servers with network isolation explicitly enabled and confirm containers cannot resolve host.docker.internal, gateway.docker.internal, or 172.17.0.1; use the new network access modes (none/host/proxy) in Studio instead of leaving network access unrestricted. Additional compensating controls with trade-offs: bind the ToolHive API and MCP proxy endpoints to loopback and require authentication, since unauthenticated reachability is what converts container egress into control-plane compromise; avoid running untrusted or third-party MCP server images on the same Docker host as sensitive services; and restrict MCP server images to vetted sources. Note that enabling allow_docker_gateway or setting network isolation off for compatibility with MCP servers that legitimately need host access re-introduces the exposure and should be scoped per-workload rather than globally. No public exploit code was identified at time of analysis and the issue is not in CISA KEV, but the default-configuration exposure warrants prompt patching; consult the advisory at https://github.com/stacklok/toolhive/security/advisories/GHSA-qg2g-g9w3-m5h8 for vendor guidance.

Affected VersionsENISA

toolhive < 0.30.1
toolhive-studio < 0.38.0

Affected Packages

go github.com/stacklok/toolhive fix: 0.30.1
euvd toolhive fix: 0.30.1
euvd toolhive_studio fix: 0.38.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ToolHive (CWE-284, Improper Access Control) deploys and manages MCP server containers on local Docker runtimes and routes traffic through its own API and per-server MCP proxies. In vulnerable builds, the default network permission profile applied to locally run MCP containers disables network isolation, so the container's egress is not filtered by the ToolHive egress proxy, letting the workload reach Docker gateway addresses (host.docker.internal, gateway.docker.internal, 172.17.0.1) and host-local services; because the ToolHive API and MCP proxy listeners were reachable without authentication, the un-isolated container could talk directly to the control plane rather than being confined to its own namespace. ToolHive Studio compounded the problem by explicitly transmitting network_isolation=false, overriding the backend's secure isolation default. The upstream fix (stacklok/toolhive PR #5583 and stacklok/toolhive-studio PR #2469) changes --isolate-network to default to true, converts the API field to a pointer so an omitted value defaults to isolation ENABLED, and adds an allow_docker_gateway control that blocks the Docker gateway addresses by default in the egress proxy even when isolation is on; ToolHive Studio replaces the boolean networkIsolation form field with explicit network access modes (none/host/proxy) and destination scoping (anywhere/selected). Independent assessment places the vector at AV:L (local) rather than the vendor's AV:A, since the attacker must already be executing code inside a locally run container; all other metrics (AC:L, PR:N, UI:R, S:C, C:H/I:H/A:H) are unchanged, so severity remains High/Critical.

Know when Toolhive gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.8 HIGH
AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 8.6 HIGH

Foothold is a container run on the host (AV:L, UI:R), needing no ToolHive credentials (PR:N); un-isolated access to the unauthenticated control plane crosses scope (S:C) with full data, workload-state, and service impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Sep 18, 2026 - 18:03 EUVD
CVE Published
Sep 18, 2026 - 16:34 cve.org
HIGH 8.8

DescriptionCVE.org

ToolHive is a utility designed to simplify the deployment and management of Model Context Protocol servers. Prior to ToolHive CLI 0.30.1 and ToolHive Studio 0.38.0, locally run MCP server containers use the default network permission profile without network isolation, permitting access to host.docker.internal while ToolHive API and MCP proxy endpoints are reachable without authentication. A malicious or compromised MCP server can use the Docker gateway to contact host-local services, other ToolHive-managed MCP proxies, or the ToolHive control plane without escaping the container. This access can expose data and logs, invoke sibling MCP tools, alter process or workload state, and disrupt services. ToolHive Studio additionally sends network_isolation as false and overrides the backend's secure isolation default. This issue is fixed in ToolHive CLI 0.30.1 and ToolHive Studio 0.38.0.

Technical POC Analysis

Bug class: CWE-284 (Improper Access Control) per the CVE record.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

ToolHive CLI versions before 0.30.1 and ToolHive Studio versions before 0.38.0 are affected by CVE-2026-58197 (CVSS 8.8, High), in which third-party MCP server containers lack default network isolation and can reach ToolHive's unauthenticated control-plane API and MCP proxy endpoints, allowing a compromised server to read exposed data and logs, invoke sibling tools, alter workload state, and disrupt services without escaping the container. Organizations that let operators run untrusted or third-party MCP servers are most exposed, and the flaw erodes the trust boundary leadership depends on for governing AI tooling and adjacent workloads. No public exploit code has been identified at time of analysis and exploitation requires an operator to launch the hostile server, but no vendor-released patch is available, so risk must be contained through network controls until fixed versions are deployed.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; the vendor advisory identifies ToolHive CLI 0.30.1 and ToolHive Studio 0.38.0 as the versions that remediate default network isolation. Interim mitigations: block MCP server container egress to Docker gateway addresses (host.docker.internal, gateway.docker.internal, 172.17.0.1) and to ToolHive API and MCP proxy endpoints; run MCP servers on isolated networks with no host gateway route; restrict third-party MCP server execution to a vetted allowlist; require authentication on ToolHive API and proxy endpoints; and monitor ToolHive logs for anomalous sibling-tool invocation, data access, or state changes.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche Stacklok MCP-server management tool, early-version developer utility, small footprint
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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