CVE-2026-98304: net: bcmgenet: restore the hardware filters on open
In the Linux kernel, the following vulnerability has been resolved:
net: bcmgenet: restore the hardware filters on open
bcmgenethfbinit() runs INITLISTHEAD() on priv->rxnfclist, which drops every rule off the list, and bcmgenetopen() calls it on each ifup. Every rule the user configured is silently lost:
# ethtool -N eth0 flow-type ether dst $MAC action 0 Added rule with ID 0 # ethtool -n eth0 | grep -c Filter: 1 # ip link set eth0 down && ip link set eth0 up # ethtool -n eth0 | grep -c Filter: 0
Initialise the lists once at probe and restore the rules on open, as bcmgenetresume() already does.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
For the bcmgenet driver, initialize the hardware-filter lists once during probe and restore the configured rules when the interface is opened, as bcmgenet_resume() does, so rules are not lost across an ifdown/ifup cycle.
Event History
Frequently Asked Questions
Who is affected by this issue?
Systems using the Linux kernel bcmgenet network driver are affected when hardware flow-filter rules have been configured on an interface managed by that driver.
What event triggers the loss of configured filter rules?
Bringing the interface down and back up triggers bcmgenet_open(), which reinitializes the rule list and silently removes the configured rules.
How can I determine whether a system is affected?
Configure a hardware filter with ethtool, verify it appears in `ethtool -n eth0`, then cycle the interface down and up. If the filter count or rule disappears afterward, the system exhibits the issue.
What is the practical impact if the issue is not remediated?
Hardware flow-filter rules configured by the user are not retained across an interface restart. Any traffic steering or filtering dependent on those rules may no longer operate as configured after the interface is brought back up.