GHSA-qq97-vm5h-rrhgLow· 3.0▾ SunlitOCI Manifest Type Confusion Issue
▾ Sunlit zone — Low / medium · no exploitation signal
impact 16.5 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
Systems that rely on digest equivalence for image attestations may be vulnerable to type confusion.
Upgrade to at least v2.8.0-beta.1 if you are running v2.x release. If you use the code from the main branch, update at least to the commit after b59a6f827947f9e0e67df0cfb571046de4733586.
There is no way to work around this issue without patching.
Due to an oversight in the OCI Image Specification that removed the embedded mediaType field from manifests, a maliciously crafted OCI Container Image can cause registry clients to parse the same image in two different ways without modifying the image’s digest by modifying the Content-Type header returned by a registry. This can invalidate a common pattern of relying on container image digests for equivalence.
If you have any questions or comments about this advisory:
github.com/docker/distribution < 2.8.0Upgrade to a patched release:
github.com/docker/distribution 2.8.0Connected by shared product, vendor, weakness, or advisory.
GO-2022-0379NoneType confusion in github.com/docker/distribution
CVE-2021-41089Low· 2.8`docker cp` allows unexpected chmod of host files in Moby Docker Engine
CVE-2026-55887High· 8.7MCP Gateway allows easy and secure running and deployment of MCP servers
CVE-2026-114409Medium· 5.7Docker Desktop logs can expose stored third-party credentials
CVE-2025-13743High· 7.5Docker Desktop diagnostics bundles were found to include expired Hub PATs in log output due to error object serialization
CVE-2026-105445Critical· 9.4An Incorrect Privilege Assignment vulnerability in Docker Hub's account-to-organization conversion feature allowed an authenticated attacker to reassign a personal access token (PAT) they controlled to another Docker Hub user without rot…