CVE-2026-43440Linux内核中的net/mana驱动组件存在一处高危安全漏洞。在mana_gd_setup函数的错误处理流程中,代码在调用destroy_workqueue()销毁工作队列后,未能将gc->service_wq指针及时置为NULL。这一疏忽导致该指针状态与mana_gd_cleanup()函数中的清理逻辑不一致。如果在设置失败后再次访问该工作队列指针,将引发释放后重用漏洞,攻击者利用此漏洞可导致系统崩溃、内核拒绝服务,甚至可能实现本地权限提升。
该漏洞源于Linux内核网络子系统(net/mana)中的资源管理逻辑缺陷。具体而言,mana_gd_setup函数负责初始化Generic Device (GD)资源,其中包含创建一个工作队列并赋值给gc->service_wq。当初始化过程中发生错误时,代码会调用destroy_workqueue()释放该队列资源,但遗漏了将gc->service_wq指针置为NULL的关键步骤。随后,如果调用mana_gd_cleanup()进行清理,由于gc->service_wq非NULL,代码会再次尝试销毁该工作队列。这种“双重释放”或“释放后重用”行为会导致内核内存结构损坏。攻击者通过特定的本地操作触发初始化失败路径,进而控制或破坏内核内存,可能导致本地提权或系统崩溃。漏洞利用需要本地访问权限(AV:L)和低权限用户(PR:L),无需用户交互。