CVE-2026-31727Linux内核USB Gadget子系统的u_ether模块存在空指针解引用漏洞。在设备解绑过程中,gadget指针被清空,若此时用户空间工具查询幸存接口信息,会导致内核崩溃。该漏洞CVSS 5.5分,允许本地低权限用户触发拒绝服务攻击。
该漏洞源于Linux内核USB Gadget子系统中`u_ether`模块的竞态条件问题。在特定提交`ec35c1969650`引入的修复中,设备解绑时将gadget设备重父节点化至`/sys/devices/virtual`,此举会清空`dev->gadget`指针。然而,对应的网络接口设备可能仍然存活并注册在系统中。此时,若用户空间工具(如ethtool)通过ioctl系统调用`ethtool_get_drvinfo`,内核将执行`eth_get_drvinfo`函数。由于旧代码未检查`dev->gadget`是否为NULL便直接尝试访问其成员以填充`fw_version`和`bus_info`字段,从而导致内核空指针解引用错误。本地攻击者可利用此时间窗口,通过高频触发相关查询,导致系统内核崩溃或拒绝服务。