compose/internal
Nicolas De Loof 2ae22f6e29 fix(oci): verify the manifests fetched against their digest
Get returned the manifest the registry served without checking it against
the digest of the descriptor: the one of the reference when it is digested,
the one the registry announces in Docker-Content-Digest when it is a tag.
Neither is checked by containerd on this path, which doesn't go through its
content store, and GetBlob already checks what it fetches for that reason.

The extracted project cache is keyed by that digest alone, whatever the
registry, so a registry could have its content cached as the one of another
manifest, which a later load of the pinned digest, from the registry that
holds it, then returned.

Get now fails when the manifest doesn't hash to its digest, and shares the
check with GetBlob.

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2026-11-11 08:52:55 +01:00
..
concurrency
confighash
containerops
depgraph
desktop
engine
experimental
images
inspect
locker
logstream
memnet
naming
oci
paths
pidfile
progress
projectloader
provider
registry
relay
sync
tracing
variables.go