CVE-2026-98482 in Linux
摘要
由 VulDB • 2026-10-19
在 Linux 内核中,已修复以下漏洞:
nfc: llcp: 在 nfc_llcp_recv_hdlc() 中丢弃截断的 I/RR/RNR PDUs
nfc_llcp_recv_hdlc() 通过 nfc_llcp_ns()/nfc_llcp_nr() 读取序列字节 skb->data[2],且该操作发生在任何长度检查之前。接收路径仅保证存在两字节的 LLCP 报头——__nfc_llcp_recv() 使用 pskb_may_pull() 对其进行验证,而 nfc_llcp_recv_agf() 允许两字节的内部 PDU——因此,对于长度为两个字节的 I、RR 或 RNR PDU,会读取到未初始化的 skb tailroom(尾部剩余空间)中的一个字节。该字节被用作 N(R)/N(S);对等方已经可以使用格式良好的 PDU 设置这些字段,这意味着此操作作用于未初始化内存,而非新的对等方控制信息。
参照 commit 95674f506c63(“nfc: llcp: 拒绝短于 LLCP 报头的 PDUs”)中对两字节报头的处理方式,使用 pskb_may_pull() 保护该读取操作,以确保在读取之前序列字节存在且线性连续。RR 和 RNR PDU 的长度为 LLCP_HEADER_SIZE + LLCP_SEQUENCE_SIZE 字节,而 I PDU 更长,因此不会拒绝任何有效帧;截断的 PDU 属于格式错误,故直接返回而不发送 DM(Disconnect Mode)回复。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.