从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - KASAN(Kernel Address Space Layout Randomization)报告了一个越界读取。 - 问题发生在 和 函数中,以及 函数中。 2. 问题定位: - 问题发生在 文件的第54行。 - 读取大小为4的内存,地址为 。 3. 复现步骤: - 通过以下步骤可以复现问题: 1. 获得32个具有相似哈希值的输入,这些输入的模式为 。 2. 重启并添加步骤1中获得的密钥。 4. 问题分析: - 在 函数中,当遍历树中的槽(在 标签下)时,如果槽指针是元数据并且 不为NULL(这意味着它是根),它将尝试降级到节点。然而,存在一个异常。如果节点是根,并且其中一个槽指向一个快捷方式,它将被视为一个密钥。 - 当32个具有相似哈希值的密钥被添加到树中时,树的根节点具有不相似的哈希值(例如,槽0),因此它将分裂为节点A,而不会使用快捷方式。当节点A被填充有所有哈希值为 的密钥时,这些密钥是相似的,节点A将使用快捷方式分裂。最后,它形成了如图所示的树结构。 5. 修复措施: - 修复措施是确保在 函数中,无论节点是否为根,都应跳转到降级节点。 6. 相关补丁和报告: - 该问题的补丁和报告链接为:https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/ - 该问题的补丁链接为:https://lore.kernel.org/linux-kernel/1cfa878e-8c7b-4570-8606-21daf5e13ce7@huaweicloud.com/ 7. 补丁内容: - 补丁内容包括对 文件的修改,主要修改了 函数中的条件判断逻辑。 通过这些信息,我们可以了解该漏洞的详细情况、复现步骤、问题分析、修复措施以及相关的补丁和报告。