{"cve":"CVE-2026-45781","nvd":{"published":"2026-05-14T21:16:48.480","modified":"2026-10-26T14:10:00.130","status":"Deferred","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.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N","score":3.5},"cwes":["CWE-636"],"references":["https://github.com/modelcontextprotocol/registry/security/advisories/GHSA-2v5f-5r6w-p67r","https://github.com/modelcontextprotocol/registry/security/advisories/GHSA-2v5f-5r6w-p67r"],"products":[],"source":"nvd","synced_at":"2026-10-26T14:27:29.784594657+00:00"},"epss":{"cve":"CVE-2026-45781","score":0.00206,"percentile":0.10543,"date":"2026-10-25"},"kev":null,"osv":[{"id":"GHSA-2v5f-5r6w-p67r","url":"https://osv.dev/vulnerability/GHSA-2v5f-5r6w-p67r","summary":"MCP Registry: OCI validator skips ownership check on upstream rate limits","modified":"2026-09-10T03:51:04.228069995Z","packages":[{"ecosystem":"Go","name":"github.com/modelcontextprotocol/registry","purl":"pkg:golang/github.com/modelcontextprotocol/registry","ranges":["<1.7.9"],"fixed":["1.7.9"]}]},{"id":"GO-2026-5008","url":"https://osv.dev/vulnerability/GO-2026-5008","summary":"MCP Registry: OCI validator skips ownership check on upstream rate limits in github.com/modelcontextprotocol/registry","modified":"2026-05-21T18:29:20.742575185Z","packages":[{"ecosystem":"Go","name":"github.com/modelcontextprotocol/registry","purl":"pkg:golang/github.com/modelcontextprotocol/registry","ranges":["<1.7.9"],"fixed":["1.7.9"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}