CVE-2026-45781

MCP Registry: OCI ownership validation fails open on upstream rate limits, allowing attacker-controlled package claims

LOW
3.5
CVSS Score
Published: May 14, 2026 at 09:00 PM UTC
Updated: October 26, 2026 at 02:10 PM UTC
1 product affected across 1 vendorMCP Registry

Using registry by modelcontextprotocol?

Get instant alerts when new vulnerabilities affect registry - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
LOW3.5
Exploit prediction
EPSS 0.2%
SSVC
PoC

Description

The MCP Registry provides MCP clients with a list of MCP servers, like an app store for MCP servers. Prior to 1.7.9, OCI ownership validation skips label-match check when upstream OCI registry returns HTTP 429, letting any authenticated publisher bind their io.github.<user>/* namespace to OCI images they do not control. internal/validators/registries/oci.go:104-119 fails open on http.StatusTooManyRequests: when the registry's anonymous fetch to the upstream OCI registry is rate-limited, ValidateOCI returns nil and the publish is accepted without ever running the io.modelcontextprotocol.server.name label-match check at lines 122-141. That label check is the only cross-system ownership proof the registry applies to OCI packages — every other registry type (NPM, PyPI, NuGet, MCPB) treats a non-200 upstream response as a hard error. This vulnerability is fixed in 1.7.9.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 1.7.9
Affected range stops below 1.7.9, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

3.5LOWGitHub_M
Attack Vector
NETWORK
Complexity
LOW
Privileges
LOW
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
NONE
Integrity
LOW
Availability
NONE
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-636

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card