CVE-2022-50286 in Linux
摘要
由 VulDB • 2026-05-24
在 Linux 内核中,已修复以下漏洞:
ext4:修复 bigalloc + inline 场景下 ext4_clu_mapped 中的延迟分配 bug
当将包含内联数据的文件转换为 extents(扩展)时,在同时启用了 bigalloc 和 inline 选项的文件系统上进行的延迟分配可能导致无效的 extent 状态缓存内容、错误的预留集群计数、内核内存泄漏以及潜在的内核恐慌(kernel panic)。
在使用 bigalloc 时,确定块是否必须延迟分配的代码会搜索 extent 树,以查看该块是否映射到先前分配的集群。如果没有,则对该块进行延迟分配;否则,不进行延迟分配。然而,如果同时使用了 inline 选项,并且包含该块的文件被标记为能够存储内联数据,则该文件没有关联的有效 extent 树。ext4_clu_mapped() 中的当前代码仍会调用 ext4_find_extent() 来搜索不存在的树以查找先前分配的集群,这通常会按预期找到空结果。但是,搜索的一个副作用是将来自不存在树(垃圾数据)的无效内容缓存到 extent 状态树中,包括在待处理预留树中产生虚假条目。
为解决此问题,在将 bigalloc + inline 文件从内联映射转换为 extent 映射并分配块时,应避免搜索 extent 树。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.