CVE-2026-43330Linux内核CAAM驱动在处理长HMAC密钥时存在漏洞。由于DMA缓存对齐需求,使用kmemdup复制密钥时发生越界读取,可能导致内存损坏或系统崩溃。
该漏洞位于Linux内核的crypto/caam模块中。当HMAC密钥长度超过块大小时,驱动需将其复制并哈希。为了满足DMA缓存对齐要求,分配的内存大小需向上取整。原代码使用kmemdup(key, aligned_len, GFP_KERNEL)直接复制,导致从keylen大小的源缓冲区中读取aligned_len字节数据,造成越界读取。读取的垃圾数据可能随后的哈希计算导致邻近内存破坏,进而影响机密性、完整性和可用性。