OCI Manifest Type Confusion Issue
Date: 2022-02
Affected: go/github.com/docker/distribution
Attack vector: other
Category: vulnerability-disclosure
Severity: Low
CWE: CWE-843
CVSS: 3 (CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:N)

### Impact Systems that rely on digest equivalence for image attestations may be vulnerable to type confusion. ### Patches 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](https://github.com/distribution/distribution/commit/b59a6f827947f9e0e67df0cfb571046de4733586). ### Workarounds There is no way to work around this issue without patching. ### References Due to [an oversight in the OCI Image Specification](https://github.com/opencontainers/image-spec/pull/411) 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. ### For more information If you have any questions or comments about this advisory: * Open an issue in [distribution](https://github.com/distribution/distribution) * Open an issue in [distribution-spec](https://github.com/opencontainers/distribution-spec) * Email us at [cncf-distribution-security@lists.cncf.io](mailto:cncf-distribution-security@lists.cncf.io)


Mitigations:

Architectural layers (MAESTRO):