从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:bpf: Fix out-of-bounds write in trie_get_next_key() - 描述:trie_get_next_key() 函数在遍历 trie 结构时,可能会导致越界写入。具体来说,当 trie->max_prefixlen 为 8 时,函数在遍历 trie 结构时可能会写入 9 个节点,导致越界写入。 2. 修复措施: - 修复代码:在 trie_get_next_key() 函数中添加了检查,确保不会写入超出 trie->max_prefixlen 的节点。 - 修复代码示例: 3. 修复范围: - 文件:kernel/bpf/lpm_trie.c - 行号:-647,7 +647,7 4. 修复者: - 作者:Byeonguk Jeong - 提交者:Greg Kroah-Hartman 5. 修复过程: - 上游提交:13400ac8fb80c572bfb12ebd35ee121ce9b4d21 - 修复提交:90a6e0ele15ef7a9282e78f54c3091de2dccc99c 6. 测试和验证: - 测试者:Hou Tao - 验证者:Alexei Starovoitov - 验证者:Sasha Levin 7. 链接: - 上游链接:https://lore.kernel.org/r/Zxx384ZfdLFYnz6J@localhost.localdomain 这些信息表明,该漏洞是由于 trie_get_next_key() 函数在遍历 trie 结构时可能导致越界写入,修复措施是在函数中添加了检查,确保不会写入超出 trie->max_prefixlen 的节点。修复范围是 kernel/bpf/lpm_trie.c 文件中的 -647,7 +647,7 行。