CVE-2026-43343Linux内核中的USB Gadget子系统(f_subset组件)存在一个资源管理漏洞。问题在于geth_alloc函数增加了引用计数,但对应的geth_free函数却未能正确减少该计数。这种引用计数的不平衡导致在取消链接函数后,无法通过configfs配置属性,从而可能引发拒绝服务或系统资源耗尽。该漏洞需要本地低权限用户即可触发,攻击复杂度低。
该漏洞位于Linux内核的USB Gadget功能驱动层,具体涉及f_subset.c文件中的网络子集功能实现。在gadget功能的初始化过程中,geth_alloc函数负责分配资源并增加配置组或相关设备的引用计数,以确保对象在使用期间不会被意外释放。然而,在清理过程中,geth_free函数存在逻辑缺陷,遗漏了对引用计数的递减操作。这种引用计数的不平衡导致了内存泄漏或对象生命周期管理错误。当本地用户通过configfs取消链接该功能时,由于引用计数未归零,相关的内核对象无法被正确释放和销毁。这会导致后续无法通过configfs对该属性进行重新配置,造成配置接口挂起或拒绝服务。攻击者只需具备本地低权限,反复执行创建和销毁USB gadget的操作,即可耗尽系统资源或使USB网络功能失效。