CVE-2025-54410
Low · 3.3Moby firewalld reload removes bridge network isolation
CVSS
3.3
EPSS
0.2%
Published
Jul 29, 2025
CISA due date
—
Cloudanix analysis
Container software on some Linux systems may allow programs that should stay separated to reach each other over the network.
- Exploitation
- Adjacent Network
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Lateral Movement
- Component
- Container Runtime
- Class
- Misconfiguration
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
The Moby daemon fails to generate correct iptables rules via the Firewalld backend, allowing traffic between containers attached to separate bridge networks that should be isolated.
Why it matters to the business
Organizations running container workloads on Firewalld-managed Linux hosts face a risk of unintended network access between isolated applications, increasing exposure of internal services even though the overall likelihood remains low.
How an attack unfolds
An attacker with the ability to launch containers on the affected host creates workloads on two different bridge networks and sends traffic from one to the other; because the expected isolation rules are absent or ineffective, the packets are permitted instead of dropped.
How to fix it
Upgrade Moby to the version containing commit 165516eb478021fdc99976e5aadc26bf73c1e51b or later. After upgrading, restart the daemon and verify that Firewalld-managed iptables rules correctly enforce bridge-network isolation.
How to confirm the fix worked
After applying the fix, start containers on separate bridge networks and confirm that cross-network traffic is blocked using standard network tools; also inspect the generated iptables rules under the Firewalld backend to ensure isolation chains are present and populated.
Typical attack path
- Obtain the ability to start containers on the Docker host
- Create containers attached to two distinct bridge networks
- From one container, attempt network connections to services running in the other container
- Observe that traffic succeeds due to missing isolation rules
How to detect it
Examine Docker daemon logs and Firewalld iptables rule dumps for missing or incomplete isolation chains between bridge networks; look for unexpected successful connections between containers on different networks in host and container network flow logs.
What your security team should do
- Prioritize upgrade of Moby on any hosts using Firewalld for firewall management
- Review container network policies to ensure they do not rely solely on the now-corrected isolation behavior
- Monitor for future updates to the Moby Firewalld integration
The record
Moby is an open source container framework developed by Docker Inc. that is distributed as Docker Engine, Mirantis Container Runtime, and various other downstream projects/products. The Moby daemon component (dockerd), which is developed as [moby/moby](https://github.com/moby/moby) is commonly referred to as Docker, or Docker Engine. Firewalld is a daemon used by some Linux distributions to provide a dynamically managed firewall. When Firewalld is running, Docker uses its iptables backend to create rules, including rules to isolate containers in one bridge network from containers in other bridge networks.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/docker/docker | 0 | 25.0.13+incompatible |
| Go | github.com/docker/docker | 0 | 28.0.0+incompatible |
| Go | github.com/docker/docker | 0 | No fix |
| Go | github.com/docker/docker | 26.0.0-rc1 | 28.0.0 |
| Chainguard | aactl | 0 | 0.4.12-r35 |
| Chainguard | aactl | 0 | 0.4.12-r39 |
| Chainguard | amazon-cloudwatch-agent-operator | 0 | 3.3.1-r0 |
| Chainguard | amazon-cloudwatch-agent-operator-compat | 0 | 3.3.0-r1 |
| Chainguard | amazon-cloudwatch-agent-operator-fips | 0 | 3.3.1-r0 |
| Chainguard | amazon-cloudwatch-agent-operator-fips-compat | 0 | 3.3.0-r1 |
| Chainguard | amazon-ecs-agent | 0 | 1.99.0-r0 |
| Chainguard | amazon-ecs-agent-fips | 0 | 1.99.0-r0 |
| Chainguard | auditbeat-8.17-oci-entrypoint | 0 | 8.17.10-r2 |
| Chainguard | auditbeat-8.18-oci-entrypoint | 0 | 8.18.8-r2 |
| Chainguard | auditbeat-9.0 | 0 | 9.0.7-r1 |
| Chainguard | auditbeat-9.0-oci-entrypoint | 0 | 9.0.7-r1 |
| Chainguard | auditbeat-fips-9.0 | 0 | 9.0.7-r1 |
| Chainguard | beats-8.17 | 0 | 8.17.10-r2 |
| Chainguard | beats-8.18 | 0 | 8.18.8-r2 |
| Chainguard | beats-9.0 | 0 | 9.0.7-r1 |
| Chainguard | beats-fips-8.17 | 0 | 8.17.10-r2 |
| Chainguard | beats-fips-8.18 | 0 | 8.18.8-r2 |
| Chainguard | beats-fips-9.0 | 0 | 9.0.7-r1 |
| Chainguard | bento | 0 | 1.10.0-r1 |
| Chainguard | bento-compat | 0 | 1.10.0-r1 |
| Chainguard | bom | 0 | 0.6.0-r24 |
| Chainguard | cert-manager-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-1.12-iamguarded-compat | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-acmesolver-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-cainjector-fips-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-controller-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-controller-1.12-iamguarded-compat | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-controller-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | cert-manager-webhook-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cert-manager-webhook-fips-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cluster-api-1.7 | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-capd-manager-compat | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-clusterctl | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-clusterctl-compat | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-controller | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-controller-compat | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-kubeadm-bootstrap-controller | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-kubeadm-bootstrap-controller-compat | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-kubeadm-control-plane-controller | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.7-kubeadm-control-plane-controller-compat | 0 | 1.7.9-r7 |
| Chainguard | cluster-api-1.8 | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-capd-manager | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-capd-manager-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-clusterctl | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-clusterctl-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-controller | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-controller-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-bootstrap-controller | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-bootstrap-controller-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-control-plane-controller | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-control-plane-controller-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-controlplane-controller | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.8-kubeadm-controlplane-controller-compat | 0 | 1.8.12-r4 |
| Chainguard | cluster-api-1.9 | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-capd-manager | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-capd-manager-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-clusterctl | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-clusterctl-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-controller | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-controller-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-bootstrap-controller | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-bootstrap-controller-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-control-plane-controller | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-control-plane-controller-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-controlplane-controller | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-1.9-kubeadm-controlplane-controller-compat | 0 | 1.9.11-r0 |
| Chainguard | cluster-api-fips-1.7 | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-capd-manager-compat | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-clusterctl | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-clusterctl-compat | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-controller | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-controller-compat | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-kubeadm-bootstrap-controller | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-kubeadm-bootstrap-controller-compat | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-kubeadm-control-plane-controller | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.7-kubeadm-control-plane-controller-compat | 0 | 1.7.9-r1 |
| Chainguard | cluster-api-fips-1.8 | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-capd-manager | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-capd-manager-compat | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-clusterctl | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-clusterctl-compat | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-controller | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-controller-compat | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-kubeadm-bootstrap-controller | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-kubeadm-bootstrap-controller-compat | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-kubeadm-control-plane-controller | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.8-kubeadm-control-plane-controller-compat | 0 | 1.8.12-r1 |
| Chainguard | cluster-api-fips-1.9 | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-capd-manager | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-capd-manager-compat | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-clusterctl | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-clusterctl-compat | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-controller | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-controller-compat | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-kubeadm-bootstrap-controller | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-kubeadm-bootstrap-controller-compat | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-kubeadm-control-plane-controller | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-fips-1.9-kubeadm-control-plane-controller-compat | 0 | 1.9.10-r1 |
| Chainguard | cluster-api-helm-controller | 0 | 0.3.2-r4 |
| Chainguard | cluster-api-helm-controller-compat | 0 | 0.3.2-r4 |
| Chainguard | cluster-api-helm-controller-fips | 0 | 0.3.2-r5 |
| Chainguard | cluster-api-helm-controller-fips-compat | 0 | 0.3.2-r5 |
| Chainguard | cmctl-1.12 | 0 | 1.12.17-r10 |
| Chainguard | cmctl-fips-1.12 | 0 | 1.12.17-r9 |
| Chainguard | crossplane | 0 | 2.0.2-r1 |
| Chainguard | crossplane-crank | 0 | 2.0.2-r1 |
| Chainguard | crossplane-crank-fips | 0 | 2.0.2-r1 |
| Chainguard | crossplane-fips | 0 | 2.0.2-r1 |
| Chainguard | crossplane-xfn | 0 | 2.0.2-r1 |
| Chainguard | docker-credential-gcr | 0 | 2.1.30-r3 |
| Chainguard | docker-credential-gcr-fips | 0 | 2.1.30-r3 |
| Chainguard | falco | 0 | 0.42.0-r0 |
| Chainguard | falco-dev | 0 | 0.42.0-r0 |
| Chainguard | falco-src | 0 | 0.42.0-r0 |
| Chainguard | falcoctl | 0 | 0.11.2-r5 |
| Chainguard | falcoctl-fips | 0 | 0.11.2-r6 |
| Chainguard | falcoctl-fips-0.4 | 0 | 0.4.0-r24 |
| Chainguard | filebeat-8.17-oci-entrypoint | 0 | 8.17.10-r2 |
| Chainguard | filebeat-8.18-oci-entrypoint | 0 | 8.18.8-r2 |
| Chainguard | filebeat-9.0 | 0 | 9.0.7-r1 |
| Chainguard | filebeat-9.0-oci-entrypoint | 0 | 9.0.7-r1 |
| Chainguard | filebeat-fips-9.0 | 0 | 9.0.7-r1 |
| Chainguard | gatekeeper-3.16 | 0 | 3.16.3-r26 |
| Chainguard | gatekeeper-3.16-compat | 0 | 3.16.3-r26 |
| Chainguard | gatekeeper-3.16-crds | 0 | 3.16.3-r26 |
| Chainguard | gatekeeper-3.16-crds-compat | 0 | 3.16.3-r26 |
| Chainguard | gatekeeper-3.16-gator | 0 | 3.16.3-r26 |
| Chainguard | gatekeeper-3.17 | 0 | 3.17.2-r15 |
| Chainguard | gatekeeper-3.17-compat | 0 | 3.17.2-r15 |
| Chainguard | gatekeeper-3.17-crds | 0 | 3.17.2-r15 |
| Chainguard | gatekeeper-3.17-crds-compat | 0 | 3.17.2-r15 |
| Chainguard | gatekeeper-3.17-gator | 0 | 3.17.2-r15 |
| Chainguard | gatekeeper-3.18 | 0 | 3.18.3-r8 |
| Chainguard | gatekeeper-3.18-compat | 0 | 3.18.3-r8 |
| Chainguard | gatekeeper-3.18-crds | 0 | 3.18.3-r8 |
| Chainguard | gatekeeper-3.18-crds-compat | 0 | 3.18.3-r8 |
| Chainguard | gatekeeper-3.18-gator | 0 | 3.18.3-r8 |
| Chainguard | gatekeeper-3.19 | 0 | 3.19.3-r3 |
| Chainguard | gatekeeper-3.19-compat | 0 | 3.19.3-r3 |
| Chainguard | gatekeeper-3.19-crds | 0 | 3.19.3-r3 |
| Chainguard | gatekeeper-3.19-crds-compat | 0 | 3.19.3-r3 |
| Chainguard | gatekeeper-3.19-gator | 0 | 3.19.3-r3 |
| Chainguard | gitlab-docker-machine-fips-18.6 | 0 | 0 |
| Chainguard | gitlab-rails-ce-18.3 | 0 | 18.3.2-r1 |
| Chainguard | gitlab-rails-ce-assets-18.1 | 0 | 18.1.6-r1 |
| Chainguard | gitlab-rails-ce-assets-18.2 | 0 | 18.2.8-r1 |
| Chainguard | gitlab-rails-ce-assets-18.3 | 0 | 18.3.2-r1 |
| Chainguard | gitlab-rails-ce-assets-fips-18.1 | 0 | 18.1.6-r2 |
| Chainguard | gitlab-rails-ce-assets-fips-18.2 | 0 | 18.2.8-r2 |
| Chainguard | gitlab-rails-ce-assets-fips-18.3 | 0 | 18.3.5-r2 |
| Chainguard | gitlab-rails-ce-assets-fips-18.4 | 0 | 18.4.3-r3 |
| Chainguard | gitlab-rails-ce-assets-fips-18.5 | 0 | 18.5.1-r2 |
| Chainguard | gitlab-rails-ce-assets-fips-18.6 | 0 | 18.6.1-r2 |
| Chainguard | gitlab-rails-ce-assets-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-rails-ce-doc-18.1 | 0 | 18.1.6-r1 |
| Chainguard | gitlab-rails-ce-doc-18.2 | 0 | 18.2.8-r1 |
| Chainguard | gitlab-rails-ce-doc-18.3 | 0 | 18.3.2-r1 |
| Chainguard | gitlab-rails-ce-doc-fips-18.1 | 0 | 18.1.6-r2 |
| Chainguard | gitlab-rails-ce-doc-fips-18.2 | 0 | 18.2.8-r2 |
| Chainguard | gitlab-rails-ce-doc-fips-18.3 | 0 | 18.3.5-r2 |
| Chainguard | gitlab-rails-ce-doc-fips-18.4 | 0 | 18.4.3-r3 |
| Chainguard | gitlab-rails-ce-doc-fips-18.5 | 0 | 18.5.1-r2 |
| Chainguard | gitlab-rails-ce-doc-fips-18.6 | 0 | 18.6.1-r2 |
| Chainguard | gitlab-rails-ce-doc-fips-18.7 | 0 | 18.7.0-r0 |
| Chainguard | gitlab-rails-ce-fips-18.6 | 0 | 18.6.6-r1 |
| Chainguard | gitlab-rails-ce-fips-18.7 | 0 | 18.7.4-r1 |
| Chainguard | gitlab-rails-ce-fips-18.8 | 0 | 18.8.4-r1 |
| Chainguard | gitlab-runner-18.6 | 0 | 18.6.3-r0 |
| Chainguard | gitlab-runner-fips-18.6 | 0 | 0 |
| Chainguard | gitlab-runner-helper-18.6 | 0 | 18.6.3-r0 |
| Chainguard | gitlab-runner-helper-compat-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-helper-compat-18.5 | 0 | 18.5.0-r3 |
| Chainguard | gitlab-runner-helper-compat-18.6 | 0 | 18.6.3-r0 |
| Chainguard | gitlab-runner-helper-compat-fips-18.3 | 0 | 18.3.1-r2 |
| Chainguard | gitlab-runner-helper-compat-fips-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-helper-compat-fips-18.5 | 0 | 18.5.0-r1 |
| Chainguard | gitlab-runner-helper-compat-fips-18.6 | 0 | 0 |
| Chainguard | gitlab-runner-helper-fips-18.6 | 0 | 0 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-18.5 | 0 | 18.5.0-r3 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-18.6 | 0 | 18.6.3-r0 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-fips-18.3 | 0 | 18.3.1-r2 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-fips-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-fips-18.5 | 0 | 18.5.0-r1 |
| Chainguard | gitlab-runner-helper-oci-entrypoint-fips-18.6 | 0 | 0 |
| Chainguard | gitlab-runner-oci-entrypoint-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-oci-entrypoint-18.5 | 0 | 18.5.0-r3 |
| Chainguard | gitlab-runner-oci-entrypoint-18.6 | 0 | 18.6.3-r0 |
| Chainguard | gitlab-runner-oci-entrypoint-fips-18.3 | 0 | 18.3.1-r2 |
| Chainguard | gitlab-runner-oci-entrypoint-fips-18.4 | 0 | 18.4.0-r2 |
| Chainguard | gitlab-runner-oci-entrypoint-fips-18.5 | 0 | 18.5.0-r1 |
| Chainguard | gitlab-runner-oci-entrypoint-fips-18.6 | 0 | 0 |
| Chainguard | harbor-2.11 | 0 | 2.11.2-r19 |
Related vulnerabilities
- CVE-2025-54388 Moby firewalld reload makes published container ports accessible from remote hosts Also affects github.com/docker/docker
- CVE-2024-41110 Moby is an open-source project created by Docker for software containerization. Also affects github.com/docker/docker
- CVE-2024-29018 Moby is an open source container framework that is a key component of Docker Engine… Also affects github.com/docker/docker
- CVE-2026-33186 gRPC-Go is the Go language implementation of gRPC. Also affects aactl
- CVE-2025-15558 Docker CLI for Windows searches for plugin binaries in C:\ProgramData\Docker\cli-plugins… Also affects aactl
- CVE-2026-1229 The CombinedMult function in the CIRCL ecc/p384 package (secp384r1 curve) produces an… Also affects aactl
- CVE-2026-26958 filippo.io/edwards25519 is a Go library implementing the edwards25519 elliptic curve with… Also affects aactl
- CVE-2025-68121 During session resumption in crypto/tls, if the underlying Config has its ClientCAs or… Also affects aactl