CVE Catalog

CVE-2026-85747

MediumCVSS 6.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.21%

10th percentile - higher than 10% of all known CVEs

Summary

In the Distribution library (registry/client) prior to 3.1.2, the Get() method reads a manifest returned for a digest-pinned request and passes it to distribution.UnmarshalManifest without hashing the body against the requested digest. This allows a malicious or intercepted registry response to substitute attacker-chosen manifest content even when the Docker-Content-Digest header claims the requested value. The bundled pull-through proxy can additionally cache and re-serve the substituted manifest. The issue is fixed in version 3.1.2.

Risk Assessment

An attacker can deliver a substituted container image, leading to execution of unauthorized code in production environments. This poses a software supply chain integrity risk.

Recommendation

Upgrade the Distribution library to version 3.1.2 or later. Verify whether the bundled pull-through proxy is in use and validate the integrity of pulled images.

Other vulnerabilities in Distribution

Original NVD description (English source)

Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.2, registry/client.(*manifests).Get() reads a manifest returned for a digest-pinned request and passes it to distribution.UnmarshalManifest without hashing the body against the requested digest, allowing a malicious or intercepted registry response to substitute attacker-chosen manifest content even when Docker-Content-Digest claims the requested value. The bundled pull-through proxy in registry/proxy/proxymanifeststore.go can cache and re-serve the substituted manifest. This issue is fixed in version 3.1.2.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS