3.5 LOW
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): Required (R)
- Scope (S): Unchanged (U)
- Confidentiality (C): None (N)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): Required (R)
- Modified Confidentiality (MC): None (N)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
by @LeSuisse Activity log
- Created suggestion
- @LeSuisse dismissed (not in Nixpkgs)
MCP Registry: OCI ownership validation fails open on upstream rate limits, allowing attacker-controlled package claims
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.
References
Affected products
- ==< 1.7.9
Matching in nixpkgs
pkgs.crane
Tools for interacting with remote images and registries including crane and gcrane
pkgs.gcrane
Tools for interacting with remote images and registries including crane and gcrane
pkgs.cargo-local-registry
Cargo subcommand to manage local registries
pkgs.dn42-registry-wizard
Collection of tools to interact with DN42 registry data
pkgs.go-containerregistry
Tools for interacting with remote images and registries including crane and gcrane
pkgs.haskellPackages.registry
data structure for assembling components
pkgs.gitlab-container-registry
GitLab Docker toolset to pack, ship, store, and deliver content
pkgs.haskellPackages.registry-aeson
Aeson encoders / decoders
pkgs.python312Packages.axisregistry
None
pkgs.python313Packages.axisregistry
Google Fonts registry of OpenType variation axis tags
pkgs.python314Packages.axisregistry
Google Fonts registry of OpenType variation axis tags
pkgs.perlPackages.ParseWin32Registry
Module for parsing Windows Registry files
-
nixos-unstable ParseWin32Registry-1.1
- nixpkgs-unstable ParseWin32Registry-1.1
- nixos-unstable-small ParseWin32Registry-1.1
pkgs.perl5Packages.ParseWin32Registry
Module for parsing Windows Registry files
-
nixos-unstable ParseWin32Registry-1.1
- nixpkgs-unstable ParseWin32Registry-1.1
- nixos-unstable-small ParseWin32Registry-1.1
pkgs.haskellPackages.registry-hedgehog
utilities to work with Hedgehog generators and `registry`
pkgs.python312Packages.python-registry
None
pkgs.python313Packages.python-registry
Module to parse the Windows Registry hives
pkgs.python314Packages.python-registry
Module to parse the Windows Registry hives
pkgs.perl538Packages.ParseWin32Registry
None
pkgs.perl540Packages.ParseWin32Registry
None
pkgs.python312Packages.phx-class-registry
None
pkgs.python313Packages.phx-class-registry
Factory and registry pattern for Python classes
pkgs.python314Packages.phx-class-registry
Factory and registry pattern for Python classes
pkgs.haskellPackages.registry-hedgehog-aeson
Hedgehog generators for Aeson
pkgs.python313Packages.json-handler-registry
Registry for JSON handlers
pkgs.python314Packages.json-handler-registry
Registry for JSON handlers
pkgs.python313Packages.azure-containerregistry
Microsoft Azure Container Registry client library for Python
pkgs.python314Packages.azure-containerregistry
Microsoft Azure Container Registry client library for Python
pkgs.python313Packages.azure-mgmt-containerregistry
Microsoft Azure Container Registry Client Library for Python
pkgs.python314Packages.azure-mgmt-containerregistry
Microsoft Azure Container Registry Client Library for Python
pkgs.python313Packages.google-cloud-artifact-registry
Google Cloud Artifact Registry API client library
pkgs.python314Packages.google-cloud-artifact-registry
Google Cloud Artifact Registry API client library
pkgs.haskellPackages.amazonka-servicecatalog-appregistry
Amazon Service Catalog App Registry SDK
-
nixos-unstable 2.0-unstable-2025-04-16
- nixpkgs-unstable 2.0-unstable-2025-04-16
- nixos-unstable-small 2.0-unstable-2025-04-16
pkgs.python313Packages.azure-mgmt-containerregistrytasks
Microsoft Azure Container Registry Tasks Client Library for Python
pkgs.python314Packages.azure-mgmt-containerregistrytasks
Microsoft Azure Container Registry Tasks Client Library for Python
pkgs.python313Packages.keyrings-google-artifactregistry-auth
Python package which allows you to configure keyring to interact with Python repositories stored in Artifact Registry
pkgs.python313Packages.mypy-boto3-servicecatalog-appregistry
Type annotations for boto3 servicecatalog-appregistry
-
nixos-unstable boto3-servicecatalog-appregistry-1.43.0
- nixpkgs-unstable boto3-servicecatalog-appregistry-1.43.0
- nixos-unstable-small boto3-servicecatalog-appregistry-1.43.0
pkgs.python314Packages.keyrings-google-artifactregistry-auth
Python package which allows you to configure keyring to interact with Python repositories stored in Artifact Registry
pkgs.python314Packages.mypy-boto3-servicecatalog-appregistry
Type annotations for boto3 servicecatalog-appregistry
-
nixos-unstable boto3-servicecatalog-appregistry-1.43.0
- nixpkgs-unstable boto3-servicecatalog-appregistry-1.43.0
- nixos-unstable-small boto3-servicecatalog-appregistry-1.43.0
pkgs.python313Packages.types-aiobotocore-servicecatalog-appregistry
Type annotations for aiobotocore servicecatalog-appregistry
Package maintainers
-
@JarvisCraft Petr Portnov <mrjarviscraft+nix@gmail.com>
-
@ryan4yin Ryan Yin <xiaoyin_c@qq.com>
-
@yurrriq Eric Bailey <eric@ericb.me>
-
@Defelo Defelo
-
@krav Kristoffer Thømt Ravneberg <kristoffer@microdisko.no>
-
@gabyx Gabriel Nützi <gnuetzi@gmail.com>
-
@leona-ya Leona Maroni <nix@leona.is>
-
@e1mo Nina Fromm <nixpkgs@e1mo.de>
-
@talyz Kim Lindberger <kim.lindberger@gmail.com>
-
@yayayayaka Yaya <github@uwu.is>
-
@danc86 Dan Callaghan <djc@djc.id.au>
-
@samuela Samuel Ainsworth <skainsworth@gmail.com>
-
@lovesegfault Bernardo Meurer <meurerbernardo@gmail.com>
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>