Skip to content
OpenAdvisories
Medium · 5.2 Public exploit CVE-2020-15257 EUVD-2021-0915GHSA-36xw-fx78-c5r4GO-2022-0784

containerd-shim API Exposed to Host Network Containers

Published Dec 1, 2020 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
containerd containerd < 1.3.9, >= 1.4.0, < 1.4.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 containerd 1.4.3~ds1-1 —
Debian 14 docker.io 20.10.0~rc1+dfsg2-1 —
Debian 13 containerd 1.4.3~ds1-1 —
Debian 13 docker.io 20.10.0~rc1+dfsg2-1 —
Debian 12 containerd 1.4.3~ds1-1 —
Debian 12 docker.io 20.10.0~rc1+dfsg2-1 —
Debian 10 docker.io 18.09.1+dfsg1-7.1+deb10u3 DSA-4865-1
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS containerd 1.3.3-0ubuntu2.2 USN-4653-2, USN-4653-1
Ubuntu 18.04 LTS containerd 1.3.3-0ubuntu1~18.04.4 USN-4653-2, USN-4653-1
Ubuntu 16.04 LTS containerd 1.2.6-0ubuntu1~16.04.6 USN-4653-2, USN-4653-1
ReleasePackageFixed inAdvisory
SLES 15 SP7 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES 15 SP6 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES 15 SP5 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES 15 SP4 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES 15 SP3 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
Show 17 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 15 SP2 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SLES 15 SP2 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SLES 15 SP2 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SLES 15 SP2 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SLES 15 SP1 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SLES 15 SP1 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SLES 15 SP1 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SLES 15 SP1 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SLES 12 SP5 docker-stable 24.0.9_ce-1.20.1 SUSE-SU-2025:03540-1
SLES 12 containerd 1.3.9-16.32.1 SUSE-SU-2020:3938-1
SLES 12 docker 19.03.14_ce-98.57.1 SUSE-SU-2020:3938-1
SLES 12 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-1.49.1 SUSE-SU-2020:3938-1
SLES 12 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-34.1 SUSE-SU-2020:3938-1
SLES for SAP 15 SP5 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES for SAP 15 SP4 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES for SAP 15 SP3 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES for SAP 15 SP1 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SLES for SAP 15 SP1 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SLES for SAP 15 SP1 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SLES for SAP 15 SP1 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SLE HPC 15 SP5 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLE HPC 15 SP4 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLE HPC 15 SP3 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLE HPC 15 SP1 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SLE HPC 15 SP1 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SLE HPC 15 SP1 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SLE HPC 15 SP1 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SUSE Manager Server 4.0 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SUSE Manager Server 4.0 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SUSE Manager Server 4.0 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SUSE Manager Server 4.0 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SUSE Manager Retail Branch Server 4.0 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SUSE Manager Retail Branch Server 4.0 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SUSE Manager Retail Branch Server 4.0 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SUSE Manager Retail Branch Server 4.0 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SUSE Manager Proxy 4.0 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SUSE Manager Proxy 4.0 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SUSE Manager Proxy 4.0 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SUSE Manager Proxy 4.0 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
SUSE Enterprise Storage 7.1 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SUSE Enterprise Storage 6 containerd 1.3.9-5.29.3 SUSE-SU-2021:0435-1
SUSE Enterprise Storage 6 docker 19.03.15_ce-6.43.3 SUSE-SU-2021:0435-1
SUSE Enterprise Storage 6 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-6.45.3 SUSE-SU-2021:0435-1
SUSE Enterprise Storage 6 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-4.28.3 SUSE-SU-2021:0435-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed containerd 1.4.8-2.2 openSUSE-SU-2024:10693-1
openSUSE Tumbleweed docker 20.10.6_ce-2.1 openSUSE-SU-2024:10722-1
openSUSE Tumbleweed docker-stable 24.0.9_ce-15.1 openSUSE-SU-2025:15589-1
openSUSE Leap 15.6 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
openSUSE Leap 15.2 containerd 1.3.9-lp152.2.3.1 openSUSE-SU-2021:0278-1
openSUSE Leap 15.2 docker 19.03.15_ce-lp152.2.3.1 openSUSE-SU-2021:0278-1
openSUSE Leap 15.2 docker-runc 1.0.0rc10+gitr3981_dc9208a3303f-lp152.2.3.1 openSUSE-SU-2021:0278-1
openSUSE Leap 15.2 fish 2.7.1-lp152.5.3.1 openSUSE-SU-2021:0278-1
openSUSE Leap 15.2 golang-github-docker-libnetwork 0.7.0.1+gitr2908_55e924b8a842-lp152.2.3.1 openSUSE-SU-2021:0278-1
ReleasePackageFixed inAdvisory
Alpine v3.24 containerd 1.4.3-r0 —
Alpine v3.24 docker 19.03.14-r0 —
Alpine v3.24 k3s 1.19.4.2-r0 —
Alpine v3.23 containerd 1.4.3-r0 —
Alpine v3.23 docker 19.03.14-r0 —
Alpine v3.23 k3s 1.19.4.2-r0 —
Alpine v3.22 containerd 1.4.3-r0 —
Alpine v3.22 docker 19.03.14-r0 —
Alpine v3.22 k3s 1.19.4.2-r0 —
Alpine v3.21 containerd 1.4.3-r0 —
Alpine v3.21 docker 19.03.14-r0 —
Alpine v3.21 k3s 1.19.4.2-r0 —
Alpine v3.20 containerd 1.4.3-r0 —
Alpine v3.20 docker 19.03.14-r0 —
Alpine v3.20 k3s 1.19.4.2-r0 —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 containerd 1.4.3-r0 —
Alpine v3.19 docker 19.03.14-r0 —
Alpine v3.19 k3s 1.19.4.2-r0 —
Alpine v3.18 containerd 1.4.3-r0 —
Alpine v3.18 docker 19.03.14-r0 —
Alpine v3.18 k3s 1.19.4.2-r0 —
Alpine v3.17 containerd 1.4.3-r0 —
Alpine v3.17 docker 19.03.14-r0 —
Alpine v3.17 k3s 1.19.4.2-r0 —
Alpine v3.16 containerd 1.4.3-r0 —
Alpine v3.16 docker 19.03.14-r0 —
Alpine v3.16 k3s 1.19.4.2-r0 —
Alpine v3.15 containerd 1.4.3-r0 —
Alpine v3.15 docker 19.03.14-r0 —
Alpine v3.15 k3s 1.19.4.2-r0 —
Alpine v3.14 containerd 1.4.3-r0 —
Alpine v3.14 docker 19.03.14-r0 —
Alpine v3.14 k3s 1.19.4.2-r0 —
Alpine v3.13 containerd 1.4.3-r0 —
Alpine v3.13 docker 19.03.14-r0 —
Alpine v3.13 k3s 1.19.4.2-r0 —
Alpine v3.12 containerd 1.4.3-r0 —
Alpine v3.12 docker 19.03.14-r0 —
Alpine v3.11 containerd 1.3.9-r0 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 7 containerd 1.3.9-2.el7 ELSA-2020-5964
Oracle Linux 7 docker-cli +1 19.03.11.ol-7.el7 ELSA-2020-5966

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling ctop 0.7.7-r13 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/containerd/containerd < 1.3.9 1.3.9 GHSA-36xw-fx78-c5r4
Go github.com/containerd/containerd >= 1.4.0, < 1.4.3 1.4.3 GHSA-36xw-fx78-c5r4
Go github.com/containerd/containerd < 1.3.9 · >= 1.4.0, < 1.4.3 1.3.9, 1.4.3 GO-2022-0784

Advisories 14

References