mm/swapfile:跳过 unuse_vma 的 HugeTLB 页面(CVE-2024-50199)
CVE编号
CVE-2024-50199利用情况
暂无补丁情况
N/A披露时间
2024-11-08漏洞描述
在Linux内核中,已经解决了一个漏洞,该漏洞涉及mm/swapfile中的HugeTLB页面处理。当调用swapoff时,出现了一个不良的页上级目录(pud)错误,并丢失了1GB的HugeTLB内存。这个问题可以通过以下步骤重现:1. 分配一个匿名1GB的HugeTLB和一些其他匿名内存。2. 将上述匿名内存进行交换操作(swapout)。3. 运行swapoff命令,在内核消息中会出现一个不良pud错误:mm/pgtable-generic.c的第42行:bad pud 00000000743d215d(84000001400000e7)。通过ftrace,我们可以知道是unuse_pud_range()中的pud_none_or_clear_bad调用了pud_clear_bad。因此,HugeTLB页面无法被释放,因为它们已从页表中丢失。为了解决这个问题,我们可以在unuse_vma操作中跳过HugeTLB页面处理。解决建议
"将组件 Linux 升级至 2.6.36 及以上版本"受影响软件情况
# | 类型 | 厂商 | 产品 | 版本 | 影响面 | ||||
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
运行在以下环境 | |||||||||
系统 | debian_12 | linux | * | Up to (excluding) 6.1.115-1 |
- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论