CVE-2026-53220

Summary

In the Linux kernel, the following vulnerability has been resolved:

netfilter: revalidate bridge ports

ebt_redirect_tg() dereferences br_port_get_rcu() return without a NULL check, causing a kernel panic when the bridge port has been removed between the original hook invocation and an NFQUEUE reinject.

A mere NULL check isn't sufficient, however. As sashiko review points out userspace can not only remove the port from the bridge, it could also place the device in a different virtual device, e.g. macvlan.

If this happens, we must drop the packet, there is no way for us to reinject it into the bridge path.

Switch to _upper API, we don't need the bridge port structure. Also, this fix keeps another bug intact:

Both nfnetlink_log and nfnetlink_queue use CONFIG_BRIDGE_NETFILTER too aggressive, which prevents certain logging features when queueing in bridge family: NETFILTER_FAMILY_BRIDGE can be enabled while the old CONFIG_BRIDGE_NETFILTER cruft is off.

Fixes tag is a common ancestor, this was always broken.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf350a0a87374418635689471606454abc7beaa3a < 43330a1e8aace6b5a8de9aba127e9e394ab49b0faffected
LinuxLinuxf350a0a87374418635689471606454abc7beaa3a < 4beffcd726e2a731cea4dc18e1fbc55c8d76f1a0affected
LinuxLinuxf350a0a87374418635689471606454abc7beaa3a < d4b1301fd3c9e5e105fd3767c68bc4ba558bb228affected
LinuxLinuxf350a0a87374418635689471606454abc7beaa3a < ccb9fd4b87538ccf19ccff78ee26700526d94867affected
LinuxLinux2.6.36affected
LinuxLinux0 < 2.6.36unaffected
LinuxLinux6.12.94 <= 6.12.*unaffected
LinuxLinux6.18.36 <= 6.18.*unaffected
LinuxLinux7.0.13 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References