CVE-2026-43146Linux内核iris驱动在处理内部缓冲区时存在逻辑缺陷。代码在DMA内存分配成功前就将缓冲区加入链表,若分配失败,会导致链表中残留部分初始化的缓冲区,造成系统状态不一致及内存泄漏,进而可能引发拒绝服务。
该漏洞源于Linux内核iris媒体驱动中缓冲区初始化流程的顺序错误。代码未遵循先分配后挂载的安全原则,在调用`dma_alloc_attrs`进行实际内存分配之前,就通过`list_add_tail`将缓冲区节点加入了全局管理链表。当系统内存不足或硬件异常导致DMA分配失败并返回`-ENOMEM`时,函数直接退出,并未清理已加入链表的节点。这导致链表中保留了未完成初始化的“脏”数据。攻击者利用本地低权限账户,通过频繁调用相关媒体接口触发该路径,可使内核遍历无效指针,从而导致内核崩溃或内存资源耗尽,严重影响系统可用性。