GHSA-5j5w-g665-5m35 GO-2022-0360
Ambiguous OCI manifest parsing
- Severity
- 3.0 / 10
- Low · CVSS 3.1
- Exploit chance (EPSS)
- —
- No score published
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-843 Access of Resource Using Incompatible Type ('Type Confusion')
- Fix
1.4.12- Upgrade github.com/containerd/containerd to this version or later
Description
Impact
In the OCI Distribution Specification version 1.0.0 and prior and in the OCI Image Specification version 1.0.1 and prior, manifest and index documents are ambiguous without an accompanying Content-Type HTTP header. Versions of containerd prior to 1.4.12 and 1.5.8 treat the Content-Type header as trusted and deserialize the document according to that header. If the Content-Type header changed between pulls of the same ambiguous document (with the same digest), the document may be interpreted differently, meaning that the digest alone is insufficient to unambiguously identify the content of the image.
Patches
This issue has been fixed in containerd 1.4.12 and 1.5.8. Image pulls for manifests that contain a “manifests” field or indices which contain a “layers” field are rejected.
Workarounds
Ensure you only pull images from trusted sources.
References
https://github.com/opencontainers/distribution-spec/security/advisories/GHSA-mc8v-mgrf-8f4m https://github.com/opencontainers/image-spec/security/advisories/GHSA-77vh-xpmg-72qh
For more information
If you have any questions or comments about this advisory:
- Open an issue in containerd
- Email us at security@containerd.io
Affected versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| github.com/containerd/containerd | < 1.4.12 |
1.4.12 |
| github.com/containerd/containerd | >= 1.5.0, < 1.5.8 |
1.5.8 |
| github.com/containerd/containerd | < 1.4.12>= 1.5.0, < 1.5.8 |
1.4.121.5.8 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
github.com/containerd/containerd Go → 1.4.12
- go
go get github.com/containerd/containerd@v1.4.12 && go mod tidy
Severity breakdown
CVSS 3.1 3.0
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:N
- Attack vector
- Network
- Attack complexity
- High
- Privileges required
- Low
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Weakness
CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')
The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.
References
Packages
Other links
- github.com/containerd/containerd/security/advisories/GHSA-5j5w-g665-5m35
- github.com/opencontainers/distribution-spec/security/advisories/GHSA-mc8v-mgrf-…
- github.com/opencontainers/image-spec/security/advisories/GHSA-77vh-xpmg-72qh
- github.com/containerd/containerd/commit/26c76a3014e71af5ad2f396ec76e0e0ecc8e25a3
- github.com/containerd/containerd/commit/db00065a969a983ceb0a409833f93f705f284ea4
- github.com/containerd/containerd/releases/tag/v1.4.12
- github.com/containerd/containerd/releases/tag/v1.5.8
Timeline
- Published
- Last updated by the source
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-rp3h-jf77-q9p4 containerd: Unpack DoS via repeated opaque whiteouts | Medium | Also affects github.com/containerd/containerd |
| GO-2026-6791 containerd CRI plugin: Checkpoint restore bypasses destination security context | High | Also affects github.com/containerd/containerd |
| GHSA-pg57-6jwg-q645 Containerd has image-pull DoS via crafted OCI index graph amplification | Medium | Also affects github.com/containerd/containerd |
| GHSA-7jxh-36q5-gcqv containerd: CRI ExecSync Goroutine Leak Leads to Node-Level Denial of Service | Medium | Also affects github.com/containerd/containerd |
| GO-2026-5064 containerd CRI checkpoint restore CDI annotation smuggling | Critical | Also affects github.com/containerd/containerd |
| GO-2026-5622 Arbitrary host CRI log file read via symlink following in CRI checkpoint restore | Medium | Also affects github.com/containerd/containerd |
| GHSA-xhf5-7wjv-pqxp containerd CRI — image-config `LABEL` flows to restart-monitor `binary://` logger: host-root command execution from an image pull | High | Also affects github.com/containerd/containerd |
| GO-2026-5338 containerd: CRI checkpoint import allows local image tag poisoning | Critical | Also affects github.com/containerd/containerd |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor