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.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2021-0072"
}{
"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"
]
}
]
}