CVE-2020-15257 json
containerd-shim API Exposed to Host Network Containers
published 2020-12-01 5 y ago modified 2026-09-10 1 mo ago also GHSA-36xw-fx78-c5r4 , GO-2022-0784 , EUVD-2021-0915
- cvss
- 5.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.1%
- EPSS 3.1% chance of exploitation in 30 days, percentile 87%
- public exploits
- 0
- none known
Summary
containerd is an industry-standard container runtime and is available as a daemon for Linux and Windows. In containerd before versions 1.3.9 and 1.4.3, the containerd-shim API is improperly exposed to host network containers. 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. 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. 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.
Patch / fix
- go github.com/containerd/containerd 1.3.9, 1.4.3
- linuxfoundation containerd 1.3.9, 1.4.3
- docker.io Debian 14, Debian 13, Debian 12 20.10.0~rc1+dfsg2-1
- containerd Debian 14, Debian 13, Debian 12 1.4.3~ds1-1
debian advisories DEBIAN-CVE-2020-15257
- containerd Ubuntu 16.04 LTS 1.2.6-0ubuntu1~16.04.6
- containerd Ubuntu 18.04 LTS 1.3.3-0ubuntu1~18.04.4
- containerd Ubuntu 20.04 LTS 1.3.3-0ubuntu2.2
ubuntu advisories UBUNTU-CVE-2020-15257
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- docker-stable SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES for SAP 15 SP3 +12 more 24.0.9_ce-150000.1.25.1
- golang-github-docker-libnetwork SLES for SAP 15 SP1, SLES 15 SP1-LTSS, SLES 15 SP1-BCL +7 more 0.7.0.1+gitr2908_55e924b8a842-4.28.3
- docker SLES for SAP 15 SP1, SLES 15 SP1-LTSS, SLES 15 SP1-BCL +7 more 19.03.15_ce-6.43.3
- containerd SLES for SAP 15 SP1, SLES 15 SP1-LTSS, SLES 15 SP1-BCL +7 more 1.3.9-5.29.3
- docker-runc SLES for SAP 15 SP1, SLES 15 SP1-LTSS, SLES 15 SP1-BCL +7 more 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3
- golang-github-docker-libnetwork SLE Module for Containers 12 0.7.0.1+gitr2908_55e924b8a842-34.1
- docker SLE Module for Containers 12 19.03.14_ce-98.57.1
- containerd SLE Module for Containers 12 1.3.9-16.32.1
suse advisories SUSE-SU-2025:03545-1SUSE-SU-2025:03540-1SUSE-SU-2021:0435-1SUSE-SU-2020:3938-1
- docker-stable openSUSE Tumbleweed 24.0.9_ce-15.1
- containerd openSUSE Tumbleweed 1.4.8-2.2
- docker openSUSE Tumbleweed 20.10.6_ce-2.1
- golang-github-docker-libnetwork openSUSE Leap 15.2 0.7.0.1+gitr2908_55e924b8a842-lp152.2.3.1
- fish openSUSE Leap 15.2 2.7.1-lp152.5.3.1
- docker openSUSE Leap 15.2 19.03.15_ce-lp152.2.3.1
- containerd openSUSE Leap 15.2 1.3.9-lp152.2.3.1
- docker-runc openSUSE Leap 15.2 1.0.0rc10+gitr3981_dc9208a3303f-lp152.2.3.1
opensuse advisories openSUSE-SU-2025:15589-1openSUSE-SU-2024:10693-1openSUSE-SU-2024:10722-1openSUSE-SU-2021:0278-1
- k3s Alpine 3.24, Alpine 3.23, Alpine 3.22 +9 more 1.19.4.2-r0
- docker Alpine 3.24, Alpine 3.23, Alpine 3.22 +10 more 19.03.14-r0
- containerd Alpine 3.11 1.3.9-r0
- containerd Alpine 3.24, Alpine 3.23, Alpine 3.22 +10 more 1.4.3-r0
alpine advisories ALPINE-CVE-2020-15257
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- containerd Arch Linux 1.4.3-1
arch linux advisories AVG-1309
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-15257 updated cvss 8.8
containerd: unrestricted access to abstract Unix domain socket can lead to privileges escalation
-
Red Hat 3scale API Management Platform 2 3scale-amp2/3scale-rhel7-operator, 3scale-amp2/apicast-rhel7-operatoraffected: no fix available
-
Red Hat OpenStack Platform 16.2 osp-director-provisioner-container, rhosp-rhel8-tech-preview/osp-director-downloaderaffected: no fix available “Fix deferred”
-
Red Hat OpenStack Platform 16.2 rhosp-rhel8-tech-preview/osp-director-operator 1.2.3-2fixed: vendor fix RHSA-2022:2183
-
Red Hat Advanced Cluster Management for Kubernetes 2 containerd Red Hat OpenShift Container Platform 4 cri-o Red Hat OpenStack Platform 16.2 rhosp-rhel8-tech-preview/osp-director-downloader 1.2.3-2, rhosp-rhel8-tech-preview/osp-director-operator-bundle 1.2.3-3not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
3.13% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| NVD | 2.0 | 3.6 | AV:L/AC:L/Au:N/C:P/I:P/A:N |
| GitHub | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/containerd/containerd | <1.3.9 >=1.4.0, <1.4.3 |
1.3.9 1.4.3 |
Affected products
- containerd containerd
Classification
- Weakness
-
- CWE-669 Incorrect Resource Transfer Between Spheres
References
-
github.com
/containerd/containerd/commit/4a4bb851f5da563ff6e68a83dc837c7699c469ad
web, patch, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/LNKXLOLZWO5FMAPX63ZL7JNKTNNT5NQD/
vendor-advisory
-
debian.org
/security/2021/dsa-4865
vendor-advisory, web, third-party-advisory
-
security.gentoo.org
/glsa/202105-33
vendor-advisory, web, third-party-advisory
-
github.com
/containerd/containerd/security/advisories/GHSA-36xw-fx78-c5r4
web, mitigation, third-party-advisory, advisory
-
github.com
/containerd/containerd/releases/tag/v1.4.3
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-15257
advisory
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/LNKXLOLZWO5FMAPX63ZL7JNKTNNT5NQD
web
-
research.nccgroup.com
/2020/12/10/abstract-shimmer-cve-2020-15257-host-networking-is-root-equivalent-again
web
Sources
- CVE List CVE-2020-15257
- GitHub Advisory GHSA-36xw-fx78-c5r4
- NVD CVE-2020-15257
- OSV GO-2022-0784
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.