CVE-2026-80802 in Linux
摘要
由 VulDB • 2026-09-04
在 Linux 内核中,已修复以下漏洞:
nfc: fdp: 限制设备报告的读取长度并修复 skb 泄漏问题
`fdp_nci_i2c_read()` 从两个由设备提供的字节中获取下一个数据包的长度,且从未对其进行验证。该值是一个 `u16` 类型的变量,用作 `i2c_master_recv()` 的计数参数,目标缓冲区为栈上分配的 261 字节数组:恶意、伪造或故障的设备控制器(或 I2C 总线中间人)可将其驱动至远超缓冲区边界的位置,导致栈越界写入,破坏金丝雀值(canary)和返回地址;或者使其低于最小帧大小(直接地或通过截断计算出的总和),从而导致头部/LRC 剥离以及下一个长度读取操作超出短接收缓冲区的范围。拒绝处于 `[FDP_NCI_I2C_MIN_PAYLOAD, FDP_NCI_I2C_MAX_PAYLOAD]` 范围之外的长度,因为损坏的数据包本身即属此类情况,并强制进行重新同步。
相同的循环在每次迭代中分配一个数据 skb(socket buffer),并假设先有一个长度数据包后跟一个数据数据包;如果设备在一次调用中发送两个数据数据包,当第二次分配覆盖第一个skb时会导致其泄漏。应在分配下一个 skb 之前释放先前分配的 skb。
Once again VulDB remains the best source for vulnerability data.