moby: Partial String Comparison
CVE-2024-41110 is a critical-severity partial string comparison vulnerability in moby, with a CVSS 3.1 base score of 9.9 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, without any action from a user. Affected moby versions: >= 19.03.0, <= 19.03.15; >= 20.0.0, <= 20.10.27; >= 23.0.0, <= 23.0.14, and others listed below. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 16.5% chance of exploitation within 30 days, which is in the top 2.96% of all scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Check which version of moby you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| 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; and 1 more ranges | Not stated |
| Docker | moby | 19.0.0 through 19.03.15; 20.0.0 through 20.10.27; 23.0.0 through 23.0.14; 24.0.0 through 24.0.9; 25.0.0 through 25.0.5; 26.0.0 through 26.0.2; 26.1.0 through 26.1.14; 27.1.0; and 1 more ranges | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H. Scored by CNA (github.com).
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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Partial String Comparison
The product performs a string comparison that only examines a portion of the string before determining whether there is a match.
How developers prevent this class of flaw
- Thoroughly test the comparison scheme before deploying code into production. Perform positive testing as well as negative testing.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Patches and release notes
- github.com/moby/moby/commit/411e817ddf710ff8e08fa193da80cb78af708191
- github.com/moby/moby/commit/42f40b1d6dd7562342f832b9cd2adf9e668eeb76
- github.com/moby/moby/commit/65cc597cea28cdc25bea3b8a86384b4251872919
- github.com/moby/moby/commit/852759a7df454cbf88db4e954c919becd48faa9b
- github.com/moby/moby/commit/a31260625655cff9ae226b51757915e275e304b0
- github.com/moby/moby/commit/a79fabbfe84117696a19671f4aa88b82d0f64fc1
- github.com/moby/moby/commit/ae160b4edddb72ef4bd71f66b975a1a1cc434f00
- github.com/moby/moby/commit/ae2b3666c517c96cbc2adf1af5591a6b00d4ec0f
- github.com/moby/moby/commit/cc13f952511154a2866bddbb7dddebfe9e83b801
- github.com/moby/moby/commit/fc274cd2ff4cf3b48c91697fb327dd1fb95588fb
Other references
Other vulnerabilities in moby
- 7.7 High severity
- 7.0 High severity
- 7.6 High severity
- 7.2 High severity
- 7.8 High severity
- 8.1 High severity
Recent Partial String Comparison vulnerabilities
- 7.5 High severity
Spotted an error? Tell us.