CVE-2026-43421: usb: gadget: f_ncm: Fix net_device lifecycle with device_move
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: fncm: Fix netdevice lifecycle with devicemove
The network device outlived its parent gadget device during disconnection, resulting in dangling sysfs links and null pointer dereference problems.
A prior attempt to solve this by removing SETNETDEVDEV entirely [1] was reverted due to power management ordering concerns and a NO-CARRIER regression.
A subsequent attempt to defer netdevice allocation to bind [2] broke 1:1 mapping between function instance and network device, making it impossible for configfs to report the resolved interface name. This results in a regression where the DHCP server fails on pmOS.
Use devicemove to reparent the netdevice between the gadget device and /sys/devices/virtual/ across bind/unbind cycles. This preserves the network interface across USB reconnection, allowing the DHCP server to retain their binding.
Introduce getherattachgadget()/getherdetachgadget() helpers and use free(detachgadget) macro to undo attachment on bind failure. The bindcount ensures devicemove executes only on the first bind.
[1] https://lore.kernel.org/lkml/f2a4f9847617a0929d62025748384092e5f35cce.camel@crapouillou.net/ [2] https://lore.kernel.org/linux-usb/795ea759-7eaf-4f78-81f4-01ffbf2d7961@ixit.cz/
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
usb: gadget: f_ncmto a version that resolves this vulnerability.Patch usb: gadget: f_ncm: Fix net_device lifecycle with device_move
Event History
Frequently Asked Questions
Which systems are most likely to be affected?
Exposure is limited to Linux systems using the USB gadget Network Control Model (f_ncm) function. The failure occurs during gadget disconnection and involves the lifecycle of the associated network device.
What level of access is required and what is the likely impact?
An attacker needs local access and low privileges; the CVSS vector does not require user interaction. The availability impact is rated high, while confidentiality and integrity impacts are rated none.
What behavior does the fix change?
The resolved change reparents the network device during bind and unbind cycles, preventing it from outliving its parent gadget device. It also preserves the network interface across USB reconnection so DHCP services can retain their binding.