Cyber Resilience

CVE-2024-29018

Mobyproject Moby ≤ 23.0.11

Published
20 March 2024
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 5.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS Score 0.0075 52th percentile
Risk Priority 47 floored blend · peak EPSS

Summary

CVE-2024-29018 is a medium-severity Incorrect Resource Transfer Between Spheres (CWE-669) vulnerability in Mobyproject Moby. Its CVSS base score is 5.9 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Escape to Host (T1611); ranked in the top 48% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SC-4 (Information in Shared System Resources) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Moby is an open source container framework that is a key component of Docker Engine, Docker Desktop, and other distributions of container tooling or runtimes. Moby's networking implementation allows for many networks, each with their own IP address range and…

more

gateway, to be defined. This feature is frequently referred to as custom networks, as each network can have a different driver, set of parameters and thus behaviors. When creating a network, the `--internal` flag is used to designate a network as _internal_. The `internal` attribute in a docker-compose.yml file may also be used to mark a network _internal_, and other API clients may specify the `internal` parameter as well. When containers with networking are created, they are assigned unique network interfaces and IP addresses. The host serves as a router for non-internal networks, with a gateway IP that provides SNAT/DNAT to/from container IPs. Containers on an internal network may communicate between each other, but are precluded from communicating with any networks the host has access to (LAN or WAN) as no default route is configured, and firewall rules are set up to drop all outgoing traffic. Communication with the gateway IP address (and thus appropriately configured host services) is possible, and the host may communicate with any container IP directly. In addition to configuring the Linux kernel's various networking features to enable container networking, `dockerd` directly provides some services to container networks. Principal among these is serving as a resolver, enabling service discovery, and resolution of names from an upstream resolver. When a DNS request for a name that does not correspond to a container is received, the request is forwarded to the configured upstream resolver. This request is made from the container's network namespace: the level of access and routing of traffic is the same as if the request was made by the container itself. As a consequence of this design, containers solely attached to an internal network will be unable to resolve names using the upstream resolver, as the container itself is unable to communicate with that nameserver. Only the names of containers also attached to the internal network are able to be resolved. Many systems run a local forwarding DNS resolver. As the host and any containers have separate loopback devices, a consequence of the design described above is that containers are unable to resolve names from the host's configured resolver, as they cannot reach these addresses on the host loopback device. To bridge this gap, and to allow containers to properly resolve names even when a local forwarding resolver is used on a loopback address, `dockerd` detects this scenario and instead forward DNS requests from the host namework namespace. The loopback resolver then forwards the requests to its configured upstream resolvers, as expected. Because `dockerd` forwards DNS requests to the host loopback device, bypassing the container network namespace's normal routing semantics entirely, internal networks can unexpectedly forward DNS requests to an external nameserver. By registering a domain for which they control the authoritative nameservers, an attacker could arrange for a compromised container to exfiltrate data by encoding it in DNS queries that will eventually be answered by their nameservers. Docker Desktop is not affected, as Docker Desktop always runs an internal resolver on a RFC 1918 address. Moby releases 26.0.0, 25.0.4, and 23.0.11 are patched to prevent forwarding any DNS requests from internal networks. As a workaround, run containers intended to be solely attached to internal networks with a custom upstream address, which will force all upstream DNS queries to be resolved from the container's network namespace.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1611 Escape to Host Privilege Escalation
Adversaries may break out of a container or virtualized environment to gain access to the underlying host.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-24557Same product: Mobyproject Moby
CVE-2023-28842Same product: Mobyproject Moby
CVE-2025-54388Same product: Mobyproject Moby
CVE-2024-36620Same product: Mobyproject Moby
CVE-2024-36621Same product: Mobyproject Moby
CVE-2023-28841Same product: Mobyproject Moby
CVE-2024-36623Same product: Mobyproject Moby
CVE-2024-32473Same product: Mobyproject Moby
CVE-2023-28840Same product: Mobyproject Moby
CVE-2025-54410Same product: Mobyproject Moby

Affected Assets

mobyproject
moby
26.0.0 · ≤ 23.0.11 · 24.0.0 — 25.0.5

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 2 hardening rules · 2 OS baselines
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

Enforces approved information flow authorizations between system components and connected systems, directly stopping improper resource transfers across spheres.

Prevents unintended information leakage through shared system resources when crossing sphere boundaries.

Monitors and controls communications at external and key internal boundaries to block unauthorized transfers between trust domains.

Enforces logical access authorizations that limit resource transfers to only approved sphere crossings.

Separates user functionality from system management functions to avoid improper resource or behavior transfer between privilege spheres.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 mostly match
prevents

Least-privilege authorization policies directly constrain resource transfers across security domains.

PR.DS-02 partial match
prevents

Protecting data-in-transit can limit exposure during inter-sphere transfers but does not address control-flow or authorization errors.

PR.IR-01 partial match
prevents

Logical segmentation and access controls reduce unintended cross-sphere resource movement.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Environment separation limits unintended resource leakage between spheres.

degrades

Information-transfer rules can prevent improper resource hand-off between spheres.

degrades

Access-control policies limit unintended control over transferred resources.

degrades

Managing access rights reduces risk of unauthorized resource transfer.

mitigates

Network-security controls can block improper cross-sphere transfers.

mitigates

Network segregation directly limits unintended resource movement between spheres.

References