CVE-2026-43314Linux内核中的设备映射器驱动程序存在一个安全漏洞。由于该驱动程序没有实现自己的超时处理程序,而是依赖其从设备的超时处理,因此在特定情况下会导致请求泄露。当向dm设备注入io-timeout-fail错误时,请求将永远不会完成,导致任务无限期挂起,从而引发拒绝服务。该问题源于驱动程序未能正确处理blk_should_fake_timeout()的调用逻辑。
该漏洞出现在Linux内核的Device Mapper (dm)驱动中。自内核提交15f73f5b3e59起,驱动程序负责在适当的代码路径中调用blk_should_fake_timeout()。然而,dm驱动本身并未实现原生的超时处理程序,而是依赖于其底层从属设备(如iscsi)的超时处理机制。当向dm设备注入io-timeout-fail错误时,由于dm驱动错误地尝试伪造超时却无法完成处理,导致I/O请求被泄露且永远不会完成。具体的利用场景涉及配置一个带有iscsi从属设备的dm映射器。在注入故障并执行读写操作后,如果尝试注销iscsi会话,内核任务会因为等待队列冻结而陷入不可中断睡眠状态,并最终触发hung task警告。修复方案是移除dm驱动中对blk_should_fake_timeout()的检查,因为它不具备处理超时的能力。