Skip to content
OpenAdvisories
Medium · 6.3 Public exploit CVE-2021-41091 EUVD-2024-0231GHSA-3fwx-pjgw-3558GO-2024-2500

Insufficiently restricted permissions on data directory in Docker Engine

Published Oct 4, 2021 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

Moby is an open-source project created by Docker to enable software containerization. A bug was found in Moby (Docker Engine) where the data directory (typically `/var/lib/docker`) contained subdirectories with insufficiently restricted permissions, allowing otherwise unprivileged Linux users to traverse directory contents and execute programs. When containers included executable programs with extended permission bits (such as `setuid`), unprivileged Linux users could discover and execute those programs. When the UID of an unprivileged Linux user on the host collided with the file owner or group inside a container, the unprivileged Linux user on the host could discover, read, and modify those files. This bug has been fixed in Moby (Docker Engine) 20.10.9. Users should update to this version as soon as possible. Running containers should be stopped and restarted for the permissions to be fixed. For users unable to upgrade limit access to the host to trusted users. Limit access to host volumes to trusted containers.

Affected products

VendorProductAffectedFixed
moby moby < 20.10.9 —

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 docker.io 20.10.10+dfsg1-1 —
Debian 13 docker.io 20.10.10+dfsg1-1 —
Debian 12 docker.io 20.10.10+dfsg1-1 —
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS docker.io 20.10.7-0ubuntu5 —
Ubuntu 20.04 LTS docker.io 20.10.7-0ubuntu5~20.04.1 —
Ubuntu 18.04 LTS docker.io 20.10.7-0ubuntu5~18.04.2 —
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 containerd 1.4.11-56.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLES 15 SP3 docker 20.10.9_ce-156.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLES 15 SP3 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SLES 15 SP3 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
Show 20 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 15 SP2 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SLES 15 SP2 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLES 15 SP2 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLES 15 SP1 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SLES 15 SP1 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLES 15 SP1 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLES 15 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SLES 15 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLES 15 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLES 12 SP5 docker-stable 24.0.9_ce-1.20.1 SUSE-SU-2025:03540-1
SLES 12 containerd 1.4.11-16.45.1 SUSE-SU-2022:0213-1, SUSE-SU-2021:3336-1
SLES 12 docker 20.10.9_ce-98.72.1 SUSE-SU-2022:0213-1, SUSE-SU-2021:3336-1
SLES 12 runc 1.0.2-16.14.1 SUSE-SU-2021:3336-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.4.11-56.1 SUSE-SU-2021:3506-1
SLES for SAP 15 SP1 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLES for SAP 15 SP1 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLES for SAP 15 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SLES for SAP 15 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLES for SAP 15 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLE Micro 5.1 containerd 1.4.11-56.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLE Micro 5.1 docker 20.10.9_ce-156.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLE Micro 5.1 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLE Micro 5.0 containerd 1.4.11-56.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLE Micro 5.0 docker 20.10.9_ce-156.1 SUSE-SU-2022:0334-1, SUSE-SU-2021:3506-1
SLE Micro 5.0 runc 1.0.2-23.1 SUSE-SU-2021:3506-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.4.11-56.1 SUSE-SU-2021:3506-1
SLE HPC 15 SP1 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLE HPC 15 SP1 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SLE HPC 15 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SLE HPC 15 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SLE HPC 15 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SUSE Enterprise Storage 7.1 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
SUSE Enterprise Storage 7 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
SUSE Enterprise Storage 6 containerd 1.4.11-56.1 SUSE-SU-2021:3506-1
SUSE Enterprise Storage 6 docker 20.10.9_ce-156.1 SUSE-SU-2021:3506-1
SUSE Enterprise Storage 6 runc 1.0.2-23.1 SUSE-SU-2021:3506-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 docker-stable 24.0.9_ce-150000.1.25.1 SUSE-SU-2025:03545-1
openSUSE Leap 15.3 containerd 1.4.11-56.1 openSUSE-SU-2022:0334-1, openSUSE-SU-2021:3506-1
openSUSE Leap 15.3 docker +1 20.10.9_ce-156.1 openSUSE-SU-2022:0334-1, openSUSE-SU-2021:3506-1
openSUSE Leap 15.3 runc 1.0.2-23.1 openSUSE-SU-2021:3506-1
openSUSE Leap 15.2 containerd 1.4.11-lp152.2.12.1 openSUSE-SU-2021:1404-1
openSUSE Leap 15.2 docker 20.10.9_ce-lp152.2.18.1 openSUSE-SU-2021:1404-1
openSUSE Leap 15.2 runc 1.0.2-lp152.2.9.1 openSUSE-SU-2021:1404-1
ReleasePackageFixed inAdvisory
Alpine v3.24 docker 20.10.9-r0 —
Alpine v3.23 docker 20.10.9-r0 —
Alpine v3.22 docker 20.10.9-r0 —
Alpine v3.21 docker 20.10.9-r0 —
Alpine v3.20 docker 20.10.9-r0 —
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 docker 20.10.9-r0 —
Alpine v3.18 docker 20.10.9-r0 —
Alpine v3.17 docker 20.10.9-r0 —
Alpine v3.16 docker 20.10.9-r0 —
Alpine v3.15 docker 20.10.9-r0 —
Alpine v3.14 docker 20.10.9-r0 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling docker-machine-driver-harvester 1.0.4-r1 —
Wolfi rolling rancher-machine 0.15.0.137-r0 —

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 3 repositories

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/docker/docker < 20.10.9 20.10.9 GHSA-3fwx-pjgw-3558
Go github.com/docker/docker < 20.10.9+incompatible 20.10.9+incompatible GO-2024-2500
Go github.com/moby/moby < 20.10.9 20.10.9 GHSA-3fwx-pjgw-3558
Go github.com/moby/moby < 20.10.9+incompatible 20.10.9+incompatible GO-2024-2500

Advisories 14

References