Vulnerability · Published Jul 24, 2024 · Assigned by GitHub_M

CVE-2024-41110Moby authz zero length regression

Critical 10.0

In plain English

A critical-severity incorrect authorization in moby from moby. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 16.5% (higher than 97% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)10.0Critical
Exploit odds (30 days)16.5%top 3.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack tooling1Public PoC

Official description

Moby is an open-source project created by Docker for software containerization. A security vulnerability has been detected in certain versions of Docker Engine, which could allow an attacker to bypass authorization plugins (AuthZ) under specific circumstances. The base likelihood of this being exploited is low. 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 security issue was discovered In 2018, where an attacker could bypass AuthZ plugins using a specially crafted API request. This could lead to unauthorized actions, including privilege escalation. Although this issue was fixed in Docker Engine v18.09.1 in January 2019, the fix was not carried forward to later major versions, resulting in a regression. Anyone who depends on authorization plugins that introspect the request and/or response body to make access control decisions is potentially impacted. Docker EE v19.03.x and all versions of Mirantis Container Runtime are not vulnerable. docker-ce v27.1.1 containes patches to fix the vulnerability. Patches have also been merged into the master, 19.03, 20.0, 23.0, 24.0, 25.0, 26.0, and 26.1 release branches. If one is unable to upgrade immediately, avoid using AuthZ plugins and/or restrict access to the Docker API to trusted parties, following the principle of least privilege.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Alpine:v3.20docker26.1.5-r0ALPINE-CVE-2024-41110
Alpine:v3.21docker27.1.1-r0ALPINE-CVE-2024-41110
Alpine:v3.22docker27.1.1-r0ALPINE-CVE-2024-41110
Alpine:v3.23docker27.1.1-r0ALPINE-CVE-2024-41110
Alpine:v3.24docker27.1.1-r0ALPINE-CVE-2024-41110
Debian:12docker.io20.10.24+dfsg1-1+deb12u1DEBIAN-CVE-2024-41110
Debian:13docker.io26.1.5+dfsg1-2DEBIAN-CVE-2024-41110
Debian:14docker.io26.1.5+dfsg1-2DEBIAN-CVE-2024-41110
Gogithub.com/docker/docker25.0.6GHSA-v23v-6jw2-98fq
Gogithub.com/docker/docker23.0.15GHSA-v23v-6jw2-98fq
Gogithub.com/docker/docker26.1.5GHSA-v23v-6jw2-98fq
Gogithub.com/docker/docker27.1.1GHSA-v23v-6jw2-98fq
Gogithub.com/docker/docker25.0.6+incompatible, 26.1.5+incompatible, 27.1.1+incompatibleGO-2024-3005
Gogithub.com/moby/moby25.0.6+incompatible, 26.1.5+incompatible, 27.1.1+incompatibleGO-2024-3005
Ubuntu:22.04:LTSdocker.io-app27.5.1-0ubuntu3~22.04.2UBUNTU-CVE-2024-41110
Ubuntu:24.04:LTSdocker.io-app27.5.1-0ubuntu3~24.04.2UBUNTU-CVE-2024-41110

Affected products (as reported)

VendorProductVersions
moby moby >= 19.03.0, <= 19.03.15>= 20.0.0, <= 20.10.27>= 23.0.0, <= 23.0.14>= 24.0.0, <= 24.0.9>= 25.0.0, <= 25.0.5>= 26.0.0, <= 26.0.2>= 26.1.0, <= 26.1.14>= 27.0.0, <= 27.0.3

Weakness: CWE-187, CWE-444, CWE-863 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

References