CVE-2026-85747 · GHSA-685w-q87j-wqw3
Distribution: Client `manifests.Get()` does not verify returned content against requested digest
- Risk score
- 53/100
- CVSS
- 6.8 v3.1
- Exploit chance (30 days)
- 0.2%
- Published
- 13 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 intercep…
- Affected
- github.com/docker/distribution (go) <= 2.8.3; github.com/distribution/distribution/v3 (go) < 3.1.2
- Fix
- Upgrade github.com/distribution/distribution/v3 to 3.1.2 or later.
- Exploitation
- No known exploitation
Why it is Yellow
- CVSS 6.8 medium
- On your watchlist: docker, Go
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| github.com/docker/distribution | go | <= 2.8.3 | No fix yet |
| github.com/distribution/distribution/v3 | go | < 3.1.2 | 3.1.2 |
References
- https://github.com/advisories/GHSA-685w-q87j-wqw3
- https://github.com/distribution/distribution/security/advisories/GHSA-685w-q87j-wqw3
- https://nvd.nist.gov/vuln/detail/CVE-2026-85747
- https://github.com/distribution/distribution/commit/8f91c26c8888a95a36c2357a6e30bc15d4dd76d3
- https://github.com/distribution/distribution/commit/960439b09f342cdeb8f1c0e18e8c7349bdcfbf80
- https://github.com/distribution/distribution/releases/tag/v3.1.2
- https://github.com/advisories/GHSA-685w-q87j-wqw3
Original 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.
Last activity 13 Oct 2026. Patch Forecast updates every hour.