CVE-2020-15257

CVE-2020-15257 is a medium-severity security vulnerability in github.com/containerd/containerd (go), affecting versions < 1.3.9. It is fixed in 1.3.9, 1.4.3.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

containerd-shim API Exposed to Host Network Containers

Specific Go Packages Affected

github.com/containerd/containerd/cmd

Workarounds

If you are not providing the ability for untrusted users to start containers in the same network namespace as the shim (typically the "host" network namespace, for example with docker run --net=host or hostNetwork: true in a Kubernetes pod) and run with an effective UID of 0, you are not vulnerable to this issue.

If you are running containers with a vulnerable configuration, you can deny access to all abstract sockets with AppArmor by adding a line similar to deny unix addr=@**, to your policy.

It is best practice to run containers with a reduced set of privileges, with a non-zero UID, and with isolated namespaces. The containerd maintainers strongly advise against sharing namespaces with the host. Reducing the set of isolation mechanisms used for a container necessarily increases that container's privilege, regardless of what container runtime is used for running that container.

Credits

The containerd maintainers would like to thank Jeff Dileo of NCC Group for responsibly disclosing this issue in accordance with the containerd security policy and for reviewing the patch.

For more information

If you have any questions or comments about this advisory:

Impact

Access controls for the shim’s API socket verified that the connecting process had an effective UID of 0, but did not otherwise restrict access to the abstract Unix domain socket. This would allow malicious containers running in the same network namespace as the shim, with an effective UID of 0 but otherwise reduced privileges, to cause new processes to be run with elevated privileges.

CVE-2020-15257 has a CVSS score of 5.2 (Medium). The vector is requires local access, low privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (1.3.9, 1.4.3); upgrading removes the vulnerable code path.

Affected versions

github.com/containerd/containerd (< 1.3.9) github.com/containerd/containerd (>= 1.4.0, < 1.4.3)

Security releases

github.com/containerd/containerd → 1.3.9 (go) github.com/containerd/containerd → 1.4.3 (go)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

This vulnerability has been fixed in containerd 1.3.9 and 1.4.3. Users should update to these versions as soon as they are released. It should be noted that containers started with an old version of containerd-shim should be stopped and restarted, as running containers will continue to be vulnerable even after an upgrade.

Frequently Asked Questions

  1. What is CVE-2020-15257? CVE-2020-15257 is a medium-severity security vulnerability in github.com/containerd/containerd (go), affecting versions < 1.3.9. It is fixed in 1.3.9, 1.4.3.
  2. How severe is CVE-2020-15257? CVE-2020-15257 has a CVSS score of 5.2 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which versions of github.com/containerd/containerd are affected by CVE-2020-15257? github.com/containerd/containerd (go) versions < 1.3.9 is affected.
  4. Is there a fix for CVE-2020-15257? Yes. CVE-2020-15257 is fixed in 1.3.9, 1.4.3. Upgrade to this version or later.
  5. Is CVE-2020-15257 exploitable, and should I be worried? Whether CVE-2020-15257 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2020-15257 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2020-15257?
    • Upgrade github.com/containerd/containerd to 1.3.9 or later
    • Upgrade github.com/containerd/containerd to 1.4.3 or later

Other vulnerabilities in github.com/containerd/containerd

Stop the waste.
Protect your environment with Kodem.