CVE-2026-31393Linux内核蓝牙L2CAP组件存在严重安全漏洞。由于`l2cap_information_rsp`函数在访问数据前未充分验证payload长度,攻击者可利用邻接网络发送特制的截断L2CAP_INFO_RSP数据包,导致内核发生越界读取。此漏洞可能泄露内存敏感信息,建议立即升级内核版本进行修复。
该漏洞位于Linux内核蓝牙协议栈的L2CAP层,具体涉及`l2cap_information_rsp`函数的实现逻辑。在处理蓝牙信息响应时,该函数首先检查`cmd_len`是否大于等于固定头部大小(4字节),随后根据信息类型读取`rsp->data`负载。然而,代码未针对不同类型的负载需求进行二次长度校验。例如,`L2CAP_IT_FEAT_MASK`类型需要读取4字节的掩码,而`L2CAP_IT_FIXED_CHAN`类型仅需读取1字节。攻击者可以构造一个恶意蓝牙数据包,使其`cmd_len`仅为4字节,从而通过头部检查但导致后续payload访问越界。这将触发内核读取相邻的Socket Buffer(skb)数据,造成信息泄漏。官方补丁通过在每次访问`rsp->data`前增加具体的长度校验,防止了越界读取的发生。