CVE-2026-23203: net: cpsw_new: Execute ndo_set_rx_mode callback in a work queue
In the Linux kernel, the following vulnerability has been resolved:
net: cpswnew: Execute ndosetrxmode callback in a work queue
Commit 1767bb2d47b7 ("ipv6: mcast: Don't hold RTNL for IPV6ADDMEMBERSHIP and MCASTJOINGROUP.") removed the RTNL lock for IPV6ADDMEMBERSHIP and MCASTJOINGROUP operations. However, this change triggered the following call trace on my BeagleBone Black board: WARNING: net/8021q/vlancore.c:236 at vlanforeach+0x120/0x124, CPU#0: rpcbind/496 RTNL: assertion failed at net/8021q/vlancore.c (236) Modules linked in: CPU: 0 UID: 997 PID: 496 Comm: rpcbind Not tainted 6.19.0-rc6-next-20260122-yocto-standard+ #8 PREEMPT Hardware name: Generic AM33XX (Flattened Device Tree) Call trace: unwindbacktrace from showstack+0x28/0x2c showstack from dumpstacklvl+0x30/0x38 dumpstacklvl from warn+0xb8/0x11c warn from warnslowpathfmt+0x130/0x194 warnslowpathfmt from vlanforeach+0x120/0x124 vlanforeach from cpswaddmcaddr+0x54/0xd8 cpswaddmcaddr from hwaddrrefsyncdev+0xc4/0xec hwaddrrefsyncdev from devmcadd+0x78/0x88 devmcadd from igmp6groupadded+0x84/0xec igmp6groupadded from ipv6devmcinc+0x1fc/0x2f0 ipv6devmcinc from ipv6sockmcjoin+0x124/0x1b4 ipv6sockmcjoin from doipv6setsockopt+0x84c/0x1168 doipv6setsockopt from ipv6setsockopt+0x88/0xc8 ipv6setsockopt from dosocksetsockopt+0xe8/0x19c dosocksetsockopt from syssetsockopt+0x84/0xac syssetsockopt from retfastsyscall+0x0/0x5
This trace occurs because vlanforeach() is called within cpswndosetrxmode(), which expects the RTNL lock to be held. Since modifying vlanforeach() to operate without the RTNL lock is not straightforward, and because ndosetrxmode() is invoked both with and without the RTNL lock across different code paths, simply adding rtnllock() in cpswndosetrxmode() is not a viable solution.
To resolve this issue, we opt to execute the actual processing within a work queue, following the approach used by the icssg-prueth driver.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23203?
CVE-2026-23203 has been classified with a severity level that indicates it poses a risk to systems running affected versions of the Linux kernel.
How do I fix CVE-2026-23203?
To fix CVE-2026-23203, users should update to the latest version of the Linux kernel that includes the patch addressing this vulnerability.
What systems are affected by CVE-2026-23203?
CVE-2026-23203 affects systems running the Linux kernel, particularly versions prior to the implementation of the fix.
What type of vulnerability is CVE-2026-23203?
CVE-2026-23203 is a network-related vulnerability involving the execution of the ndo_set_rx_mode callback in a work queue.
Can CVE-2026-23203 be exploited remotely?
Yes, CVE-2026-23203 can potentially be exploited remotely by an attacker if the affected systems are improperly configured.