CVE-2026-43291CVE-2026-43291 是 Linux 内核 NFC (Near Field Communication) 子系统中的一个高危漏洞。该漏洞源于对数据包参数的验证逻辑存在缺陷。在一次旨在修复未初始化数据访问的代码提交中,开发者错误地将可变长度的 NCI 数据包与固定大小的结构体长度进行比较。由于 NCI 数据包通常由固定头和可变载荷组成,这种僵化的验证导致合法的通信数据被内核拒绝,从而造成 NFC 通信中断。攻击者无需用户交互或身份认证,仅需处于邻接网络范围内即可利用此漏洞,导致系统可用性受损。
该漏洞位于 Linux 内核的 `net/nfc/nci` 模块中,核心问题是引入了错误的参数验证逻辑。修复未初始化数据访问的补丁使用 `sizeof(struct)` 作为数据包长度的上限阈值进行检查。然而,NCI 协议定义的数据包结构包含固定长度的头部和可变长度的有效载荷。当内核接收到包含载荷的合法数据包时,其总长度必然大于仅包含头部的结构体大小。验证代码执行 `skb->len > sizeof(struct)` 类似的检查时,会错误地将这些合法数据包判定为异常并丢弃。这种逻辑错误不仅导致 NFC 功能失效(DoS),还可能因处理异常路径引发潜在的内存破坏或信息泄露。CVSS 向量 AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H 表明攻击门槛低,且可能对机密性、完整性和可用性造成不同程度的影响。