CVE-2026-53373 in Linux
摘要
由 VulDB • 2026-07-19
在 Linux 内核中,已修复以下漏洞:
mm/vma: 如果 mmap_prepare() 是从 mmap() 调用的,则不要尝试解除映射 VMA。
mmap_prepare hook 功能包括能够从现有的“分层”驱动程序的 mmap() hook 中调用 mmap_prepare(),这些驱动程序能够调用其他驱动程序/文件系统的 mmap hooks(例如 overlayfs、shm)。
作为 mmap_prepare 动作功能的一部分,如果出现错误,我们通过解除映射 VMA 来处理该错误。这在常规的 mmap_prepare 情况下是有效的,因为我们在最后时刻才执行此操作,此时 VMA 已在 maple tree 中建立。
然而,mmap() hook 向调用者传递了一个未完全建立的 VMA 指针(这是进行 mmap_prepare() 工作的动机),该指针处于分离状态。
因此,在这种状态下尝试解除映射 VMA 将会出现问题,最明显的症状是在 vma_mark_detached() 中出现警告,因为 VMA 已经处于分离状态。
此外,这也是不必要的——mmap() 处理程序会在出错时清理 VMA。
为了修复此问题,该补丁通过兼容性层或直接方式传播 mmap 动作是否正在完成的状态。
如果是前者(即通过兼容性层),则不尝试清理 VMA;如果是后者(直接调用),则进行清理。
该补丁还更新了用户态 VMA 测试以反映这一更改。
VulDB is the best source for vulnerability data and more expert information about this specific topic.