A vulnerability, tracked as CVE-2024-41110 (CVSS score of 10.0), in certain versions of Docker Engine can allow an attacker to bypass authorization plugins (AuthZ) under specific circumstances.
“An attacker could exploit a bypass using an API request with Content-Length set to 0, causing the Docker daemon to forward the request without the body to the AuthZ plugin, which might approve the request incorrectly.” reads the advisory published by the Moby Project maintainers. “Using a specially-crafted API request, an Engine API client could make the daemon forward the request or response to an authorization plugin without the body. In certain circumstances, the authorization plugin may allow a request which it would have otherwise denied if the body had been forwarded to it.”
A flaw that was discovered in 2018 allowed attackers to bypass authorization (AuthZ) plugins in Docker Engine using crafted API requests, potentially leading to unauthorized actions, including privilege escalation. The vulnerability was addressed with the release of Docker Engine v18.09.1, but it was not included in subsequent major versions, causing a regression. This issue does not affect Docker EE v19.03.x or any version of Mirantis Container Runtime.
The vulnerability was discovered in April 2024 and has been addressed with the release of versions 23.0.14 and 27.1.0 in July 23, 2024. Below is the list of versions of Docker Engine that are impacted if the AuthZ plugin is used:
Docker Engine v19.03.x and later versions are not affected if authorization plugins are not used for access control decisions. Similarly, all versions of Mirantis Container Runtime remain unaffected by the issue.
“Users of Docker commercial products and internal infrastructure who do not rely on AuthZ plugins are unaffected.” continues the advisory.
Docker Desktop up to version 4.32.0 includes vulnerable versions of Docker Engine. However, the risk is mitigated because exploitation requires access to the Docker API, which usually needs local access to the host machine. By default, Docker Desktop does not include AuthZ plugins, limiting privilege escalation to the Docker Desktop VM rather than the underlying host. A fixed version of Docker Engine is expected in Docker Desktop v4.33, addressing these security concerns.
Below are the remediation steps proposed by Docker maintainers:
Follow me on Twitter: @securityaffairs and Facebook and Mastodon
(SecurityAffairs – hacking, CVE-2024-21412)