CVE-2026-43270CVE-2026-43270是Linux内核中MediaTek MDP(多媒体数据路径)驱动程序存在的一个安全漏洞。该漏洞是由于驱动在设备移除流程中未能正确释放平台设备引用,导致引用计数泄漏。具体而言,`mtk_mdp_remove`函数缺少必要的`platform_device_put`调用。本地低权限攻击者可利用此缺陷,通过反复触发驱动的探测与移除操作,导致系统内核内存资源持续泄漏并最终耗尽,从而引发系统拒绝服务,严重影响系统可用性。
该漏洞技术原理涉及Linux内核驱动模型中的引用计数(kobject reference)管理机制。在MTK-MDP驱动初始化阶段(`mtk_mdp_probe`),代码调用`vpu_get_plat_device()`获取VPU平台设备,该函数内部会递增设备的引用计数以防止设备在使用中被意外释放。然而,在驱动卸载或设备移除阶段(`mtk_mdp_remove`),代码中遗漏了对应的`platform_device_put()`调用,导致引用计数无法递减。这种引用计数的失衡造成了严重的内存泄漏。攻击者无需用户交互,只需拥有本地低权限,即可通过编写脚本反复利用sysfs接口触发驱动的bind(绑定)和unbind(解绑)操作。随着操作次数增加,内核中残留的设备对象结构体不断堆积,最终耗尽系统内存资源,导致系统崩溃或服务不可用。