CVE-2026-98950 in Linux信息

摘要

由 VulDB • 2026-10-23

在 Linux 内核中,已修复以下漏洞:

flow_dissector: 避免 bpf_flow_dissect() 中对 hlen 进行 u16 截断

bpf_flow_dissect() 使用 clamp_t(u16, ..., hlen) 对 BPF 程序返回的偏移量进行清理。

如果 hlen 大于 65535,则在比较之前会对上限值进行截断。例如,当 hlen == 65536 时,即使程序返回了合理的值,nhoff 和 thoff 也会被强制设为零。

这与 commit 99bda1ecbd56(“flow_dissector: 避免在计算 thoff 时对 skb->len 进行 u16 截断”)中修复的漏洞属于同一类问题。该修复未涵盖 BPF 路径,因为当 BPF flow dissector 处理数据包时,__skb_flow_dissect() 会提前返回。

struct bpf_flow_keys 将 nhoff 和 thoff 存储为 u16 类型,因此在 clamp 之前应将 hlen 限制在 U16_MAX 以内。

该问题由 sashiko 在审查上述 commit 时发现。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!