CVE-2026-43192Linux内核的设备映射器多路径组件存在资源管理漏洞。在解析路径时,若获取SCSI设备处理程序名称失败(例如内存不足),代码未能调用`dm_put_device`释放已获取的路径设备引用。这导致引用计数泄漏,设备对象无法被回收。本地低权限攻击者可利用此缺陷持续消耗系统资源,最终导致系统内存耗尽或崩溃。
该漏洞源于Linux内核`drivers/md/dm-mpath.c`中`parse_path`函数的错误处理缺陷。在处理多路径设备时,该函数首先调用`dm_get_device`获取路径设备的引用,随后调用`scsi_dh_attached_handler_name`以获取SCSI设备处理程序的名称。当`scsi_dh_attached_handler_name`因内存不足(-ENOMEM)或其他原因失败时,代码直接跳转到错误处理流程并返回,却遗漏了对之前获取的路径设备引用进行释放(即未调用`dm_put_device`)。这种逻辑错误导致路径设备的引用计数永远不会归零,使得相关的内核内存结构和设备对象无法被系统垃圾回收机制释放。攻击者可以通过发送特制的I/O控制命令或构建特定的多路径配置,反复触发该错误路径。随着时间推移,泄漏的内存资源不断累积,最终可能导致系统内存耗尽,触发OOM Killer杀掉关键进程,或导致设备管理子系统无响应,从而实现本地拒绝服务攻击。