CVE-2026-85747

Distribution: Client `manifests.Get()` does not verify returned content against requested digest

Published Oct 13, 2026 CVSS 3.1 · 6.8 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-685w-q87j-wqw3 Distribution: Client `manifests.Get()` does not verify returned content against requested digest
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Distribution
Distribution distribution
Vendors & Products Distribution
Distribution distribution
Type Values Removed Values Added
Description 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.
Title Distribution: Client `manifests.Get()` does not verify returned content against requested digest
Weaknesses CWE-354
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 18, 2026, 1:38 PM
Reserved
Sep 4, 2026, 2:50 PM
Status
Awaiting Analysis
Published
Oct 13, 2026, 7:21 PM
Modified
Oct 18, 2026, 2:16 PM