Various storage methods do not impose limits on how much content is accepted from user requests, allowing a malicious user to force the caller to allocate an arbitrary amount of memory.
{
    "url": "https://pkg.go.dev/vuln/GO-2021-0072",
    "review_status": "REVIEWED"
}{
    "imports": [
        {
            "path": "github.com/docker/distribution/registry/handlers",
            "symbols": [
                "App.ServeHTTP",
                "NewApp",
                "blobUploadHandler.PatchBlobData",
                "blobUploadHandler.PutBlobUploadComplete",
                "catalogHandler.GetCatalog",
                "copyFullPayload",
                "imageManifestHandler.GetImageManifest",
                "imageManifestHandler.PutImageManifest"
            ]
        },
        {
            "path": "github.com/docker/distribution/registry/storage",
            "symbols": [
                "PurgeUploads",
                "Walk",
                "blobStore.Enumerate",
                "blobStore.Get",
                "linkedBlobStore.Enumerate",
                "linkedBlobStore.Get",
                "manifestStore.Enumerate",
                "manifestStore.Get",
                "registry.Enumerate",
                "registry.Repositories"
            ]
        }
    ]
}