Distribution: Client `manifests.Get()` does not verify returned content against requested digest (CVE-2026-85747)
Description
The Docker distribution client method manifests.Get() does not verify that the manifest content returned by a registry matches the requested digest. This allows a malicious or compromised registry, or a man-in-the-middle attacker, to serve arbitrary manifest content while claiming it matches the requested digest. Applications relying on digest pinning for supply-chain integrity can be silently undermined. The bundled pull-through proxy is also vulnerable, allowing poisoned manifests to be cached and served to other clients.
CVSS v3.1
Score 6.8medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability exists in the Docker distribution client code where the Get() method fetches a manifest by digest but does not compute and verify the digest of the returned manifest content against the requested digest. Instead, it trusts the server-supplied Docker-Content-Digest header, which can be forged by an attacker controlling the registry or performing a MITM attack. This allows an attacker to substitute arbitrary manifest bytes for a digest-pinned request, bypassing content integrity guarantees. The pull-through proxy component consumes these manifests without re-verification, enabling persistent cache poisoning.
Potential Impact
An attacker who controls or intercepts the registry connection can serve malicious manifest content that is accepted by the client as valid despite digest pinning. This breaks the fundamental security assumption of content-addressable integrity, potentially leading to supply-chain compromise. The pull-through proxy can cache and propagate poisoned manifests, affecting all downstream consumers relying on it.
Mitigation Recommendations
A patch is available to fix this issue by verifying the manifest content digest against the requested digest. Users should update to a fixed version of github.com/docker/distribution. Until patched, users should be aware that digest pinning does not guarantee integrity if the registry or connection is compromised. No vendor advisory content contradicts this; therefore, applying the official fix is recommended.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-685w-q87j-wqw3
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-85747"]
- Ecosystems
- ["Go"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 3.1
Threat ID: 6ad14e8c2cdf04f65660b044
Added to database: 10/15/2026, 22:07:08 UTC
Last enriched: 10/15/2026, 22:08:25 UTC
Last updated: 10/15/2026, 22:08:25 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.