ETK-2026-921Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
ToolHive versions 0.13.0 through 0.51.3 can allow MCP requests to bypass configured validation, mutation, and rate-limit middleware. A client able to reach the proxy and satisfy any enabled authentication may evade those controls when Cedar authorization is not enabled.
mitigation
Upgrade github.com/stacklok/toolhive to version 0.51.4 or later. Until upgrading, enable Cedar authorization to reject requests that do not pass MCP parsing.
fixed in 0.51.4
outcome
Contextual: an exploit technique exists, but no deterministic check could cover this one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-07 11:31Zghsa: trigger signal, started the run
- 2026-10-07 11:31Z
this entry in the feed
GET /api/v1/feed/ETK-2026-921
{ "etk_id": "ETK-2026-921", "cve_id": null, "display_id": "ETK-2026-921", "ghsa_id": "GHSA-g7gq-2r4g-3qw8", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "MCP policy middleware bypass in ToolHive", "summary": "ToolHive versions 0.13.0 through 0.51.3 can allow MCP requests to bypass configured validation, mutation, and rate-limit middleware. A client able to reach the proxy and satisfy any enabled authentication may evade those controls when Cedar authorization is not enabled.", "mitigation": "Upgrade github.com/stacklok/toolhive to version 0.51.4 or later. Until upgrading, enable Cedar authorization to reject requests that do not pass MCP parsing.", "vendor": "go", "product": "go:github.com/stacklok/toolhive", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 0.13.0, < 0.51.4" ], "ecosystem": "go", "fixed_versions": [ "0.51.4" ], "package_name": "github.com/stacklok/toolhive", "purl": "pkg:golang/github.com/stacklok/toolhive" } ], "cwes": [ 436 ], "cvss_score": 7.1, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 34.54850205, "t0_at": null, "signals": { "public_poc": { "at": "2026-10-07T11:31:59+00:00", "days": -14.46253090326389, "is_lower_bound": true, "measured_at": "2026-10-21T22:38:01.708154+00:00", "url": "https://github.com/stacklok/toolhive/security/advisories/GHSA-g7gq-2r4g-3qw8" }, "trigger_signal": { "at": "2026-10-07T11:31:59+00:00", "days": -14.46253090326389, "is_lower_bound": true, "measured_at": "2026-10-21T22:38:01.708154+00:00", "url": "https://github.com/stacklok/toolhive/security/advisories/GHSA-g7gq-2r4g-3qw8" } } }
published 2026-10-08 01:29Z
last change 2026-10-21 22:34Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.