CVE-2021-21334 is a medium-severity (CVSS 6.3) CWE-668 vulnerability in github.com/containerd/containerd. A fix is available for github.com/containerd/containerd — see the affected versions and patch details below.
containerd environment variable leak
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
github.com/containerd/containerd🐹github.com/containerd/containerdReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Impact
Containers launched through containerd's CRI implementation (through Kubernetes, crictl, or any other pod/container client that uses the containerd CRI service) that share the same image may receive incorrect environment variables, including values that are defined for other containers. If the affected containers have different security contexts, this may allow sensitive information to be unintentionally shared.
If you are not using containerd’s CRI implementation (through one of the mechanisms described above), you are not vulnerable to this issue.
If you are not launching multiple containers or Kubernetes pods from the same image which have different environment variables, you are not vulnerable to this issue.
If you are not launching multiple containers or Kubernetes pods from the same image in rapid succession, you have reduced likelihood of being vulnerable to this issue
Patches
This vulnerability has been fixed in containerd 1.3.10 and containerd 1.4.4. Users should update to these versions as soon as they are released.
Workarounds
There are no known workarounds.
For more information
If you have any questions or comments about this advisory:
- Open an issue
- Email us at [email protected] if you think you’ve found a security bug.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/containerd/containerd | ≥ 1.4.0&&< 1.4.4 | 1.4.4go get github.com/containerd/containerd@v1.4.4 |
| 🐹Go | github.com/containerd/containerd | all versions | 1.3.10go get github.com/containerd/containerd@v1.3.10 |
Affected Products
fedorafedoraprojectcontainerdlinuxfoundationDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/containerd/containerd, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/containerd/containerd to 1.4.4 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-21334 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is CVE-2021-21334 in your dependencies?
Find it across Go, including transitive dependencies.