CVE-2021-41091: Insufficiently restricted permissions on data directory in Docker Engine

Published Oct 4, 2021
·
Updated

Impact

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.

Patches

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.

Workarounds

Limit access to the host to trusted users. Limit access to host volumes to trusted containers.

Credits

The Moby project would like to thank Joan Bruguera for responsibly disclosing this issue in accordance with the Moby security policy.

For more information

If you have any questions or comments about this advisory:

Open an issue Email us at security@docker.com if you think you’ve found a security bug

Other sources

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.

References:

https://github.com/moby/moby/commit/f0ab919f518c47240ea0e72d0999576bb8008e64 https://github.com/moby/moby/security/advisories/GHSA-3fwx-pjgw-3558

Red Hat

A file permissions vulnerability was found in the Moby (Docker Engine). The Moby data directory (usually /var/lib/docker) contains subdirectories with insufficiently restricted permissions, allowing unprivileged Linux users to traverse directory contents and execute programs. When the running container contains executable programs with the extended permission bits (like setuid), unprivileged Linux users can discover and execute those programs. Additionally, when the UID of an unprivileged Linux user on the host collides with the file owner or group inside a container, the unprivileged Linux user on the host can discover, read, and modify those files. The highest threat from this vulnerability is to confidentiality, integrity, as well as system availability.

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 Software

6 affected componentsFixes available
redhat/moby<20.10.9
20.10.9
go/github.com/docker/docker<20.10.9
20.10.9
go/github.com/moby/moby<20.10.9
20.10.9
Mobyproject Moby<20.10.9
Fedoraproject Fedora=34
Fedoraproject Fedora=35

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/moby to a version that resolves this vulnerability.

    Fixed in 20.10.9
  2. Upgrade

    Upgrade go/github.com/docker/docker to a version that resolves this vulnerability.

    Fixed in 20.10.9
  3. Upgrade

    Upgrade go/github.com/moby/moby to a version that resolves this vulnerability.

    Fixed in 20.10.9
  4. Upgrade

    Upgrade moby/moby (Docker Engine) to a version that resolves this vulnerability.

    Fixed in 20.10.9Patch GHSA-3fwx-pjgw-3558
  5. Compensating control

    Limit access to the host to trusted users.

  6. Compensating control

    Limit access to the host volumes to trusted containers.

  7. Operational

    Stop and restart running containers so the permissions fixes in the Moby data directory take effect (data directory is typically /var/lib/docker).

Event History

Oct 4, 2021
CVE Published
12:00 AM
Data Sourced
12:00 AM
RemedyDescriptionSeverityWeakness
CVE Published
via MITRE·08:20 PM
Data Sourced
via MITRE·08:20 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jan 31, 2024
Advisory Published
via GitHub·11:28 PM

Frequently Asked Questions

1

What is CVE-2021-41091?

CVE-2021-41091 is a file permissions vulnerability found in the Moby (Docker Engine) software.

2

How does CVE-2021-41091 affect users?

CVE-2021-41091 allows unprivileged Linux users to traverse Moby's data directory and potentially access sensitive information.

3

What is the severity of CVE-2021-41091?

CVE-2021-41091 has a severity rating of 6.3 (Medium).

4

Which software versions are affected by CVE-2021-41091?

Versions up to and excluding 20.10.9 of Moby (Docker Engine) are affected by CVE-2021-41091.

5

How can I fix CVE-2021-41091?

To fix CVE-2021-41091, update Moby (Docker Engine) to version 20.10.9 or later.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203