概述
公开的 Linux CVE 记录指出,Intel ice 网卡驱动中的 ice_bridge_setlink() 存在空指针解引用。该函数通过 nlmsg_find_attr() 查找网桥专用的 netlink 属性,而这次查找可能返回 NULL。
存在漏洞的代码路径在没有先确认属性是否找到的情况下,就使用 br_spec 进行嵌套属性遍历。修复在遍历之前校验 br_spec,避免缺失的属性演变成无效指针访问。
该修复已被 Linux 主线接受,并回移植到各稳定分支。公开记录中附有相关内核提交的链接。发行版软件包可能包含回移植的修复,因此评估已安装的系统时,除了上游版本,还需要查看厂商的安全公告。
这个问题说明了代码审计中值得检查的一个边界:解析器查找返回的是可选值,而调用方随后却把它当作必然存在的值来使用。该公告记录了公开的缺陷及其修复,未披露私下的发现过程。
要点
- CVE 记录
- 2024
- 公开记录
- Linux kernel · National Vulnerability Database
- 受影响代码
- Intel ice network driver · ice_bridge_setlink()
- 主题
- CVE-2024-26855 · Linux ice · 空指针解引用 · 代码审计