从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:bpf: Make sure internal and UAPI bpf_redirect flags don't overlap - 描述:该漏洞涉及BPF (Berkeley Packet Filter) 的内部和UAPI (User API) 中的bpf_redirect标志可能重叠。具体来说,当使用非NULL参数调用skb_bpf_redirect_neigh()时,如果XDP (eXtreme Data Path) 重定向使用相同的bpf_redirect_info结构,可能会导致XDP路径混淆并最终导致崩溃。 2. 修复措施: - 代码更改:修复了包括/uapi/linux/bpf.h和net/core/filter.c在内的两个文件。 - 更改内容: - 在bpf.h中,修改了BPF_F_BROADCAST和BPF_F_EXCLUDE_INGRESS的定义。 - 在filter.c中,修改了BPF_F_REDIRECT_INTERNAL的定义,并添加了BUILD_BUG_ON检查,以确保标志不重叠。 3. 修复细节: - 代码片段: 4. 修复原因: - 修复了堆栈分配的bpf_redirect_info结构不再在SKB和XDP路径之间共享,从而防止了崩溃。 - 通过移动标志定义并重新定义了三个标志在BPF_F_REDIRECT_INTERNAL中,以确保它们不与XDP使用的标志重叠。 5. 修复影响: - 修复了e624d4ed4aa8 ("xdp: Extend xdp_redirect_map with broadcast support")的漏洞。 - 修复了syzbot+cca39e6e84a367afe6f6@syzkaller.appspotmail.com报告的问题。 6. 修复状态: - 该修复已通过Toke Høiland-Jørgensen和Daniel Borkmann的签名和认可。 - 该修复已通过Sasha Levin的签名。 通过这些信息,我们可以了解到该漏洞的详细情况、修复措施以及修复后的状态。