Miggo Logo

CVE-2025-54388: Moby firewalld reload makes published container ports accessible from remote hosts

N/A

CVSS Score

Basic Information

EPSS Score
-
Published
7/29/2025
Updated
7/29/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/docker/dockergo>= 28.2.0, < 28.3.328.3.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is caused by an incomplete restoration of iptables rules after a firewalld reload. The analysis of the provided patch pinpoints the exact location of the flaw. The commit bea959c7b793b32a893820b97c4eadc7c87fabb0 modifies the reapplyPerPortIptables function in libnetwork/drivers/bridge/port_mapping_linux.go. The change explicitly adds the missing logic to re-add endpoint-specific firewall rules, which were previously not being restored. The original function only restored port mapping rules, leaving a security gap. Therefore, the reapplyPerPortIptables function is identified as the vulnerable function because it is the one that fails to perform the necessary security-critical operation, leading to the exposure of container ports.

Vulnerable functions

bridgeNetwork.reapplyPerPortIptables
libnetwork/drivers/bridge/port_mapping_linux.go
The vulnerability lies in the `reapplyPerPortIptables` function, which is responsible for reapplying iptables rules after a firewalld reload. Before the patch, this function only reapplied NAT rules for published ports but failed to re-create the rules that isolate container bridge networks from the host's network interfaces. This omission allowed remote hosts to access published container ports that should have been restricted. The patch fixes this by adding a loop that calls `AddEndpoint` for each endpoint, which correctly re-creates the necessary isolation rules.

WAF Protection Rules

WAF Rule

Mo*y is *n op*n sour** *ont*in*r *r*m*work **v*lop** *y *o*k*r In*. t**t is *istri*ut** *s *o*k*r *n*in*, Mir*ntis *ont*in*r Runtim*, *n* v*rious ot**r *ownstr**m proj**ts/pro*u*ts. T** Mo*y ***mon *ompon*nt (*o*k*r*), w*i** is **v*lop** *s [mo*y/mo*

Reasoning

T** vuln*r**ility is **us** *y *n in*ompl*t* r*stor*tion o* ipt**l*s rul*s **t*r * `*ir*w*ll*` r*lo**. T** *n*lysis o* t** provi*** p*t** pinpoints t** *x**t lo**tion o* t** *l*w. T** *ommit `****************************************` mo*i*i*s t** `r*