CVE-2026-43283Linux内核中的net: ethernet: ec_bhf驱动程序存在一个严重的资源管理漏洞。在设备的错误处理路径中,dma_free_coherent()函数被错误调用,将缓冲区长度(alloc_len)误用作DMA句柄。这导致DMA缓冲区无法被正确解映射,进而可能引发内存破坏、内核恐慌或拒绝服务攻击,对系统安全构成威胁。
该漏洞位于Linux内核的Beckhoff CX5020以太网驱动(ec_bhf)中。驱动程序在初始化阶段通过dma_alloc_coherent分配DMA缓冲区,并将返回的物理地址存储在priv->rx_buf.alloc_phys中。然而,在后续的错误处理流程中,开发人员混淆了变量,错误地将表示内存大小的变量priv->rx_buf.alloc_len传递给了dma_free_coherent()作为第二个参数(即DMA句柄)。由于DMA句柄必须是有效的物理地址,而长度通常是一个较小的整数,这种不匹配会导致内核DMA子系统尝试处理无效的地址。这会破坏内核的页表或IOVA映射,导致系统崩溃。由于CVSS向量显示机密性、完整性和可用性影响均为高,且范围(S:C)为改变,这意味着该漏洞可能突破容器或沙箱限制,导致更严重的内核级安全问题。攻击者只需本地低权限即可触发。