CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. CVE
  3. 正文

CVE-2024-53111丨mm/mremap:修复 move_page_tables() 中的地址环绕问题

2024年12月3日 134点热度 0人点赞 0条评论
mm/mremap:修复 move_page_tables() 中的地址环绕问题(CVE-2024-53111)

CVE编号

CVE-2024-53111

利用情况

暂无

补丁情况

N/A

披露时间

2024-12-02
漏洞描述
在Linux内核中,存在一个关于`mm/mremap`的漏洞已经被修复。这个漏洞出现在`move_page_tables()`函数中处理地址环绕的问题。在32位平台上,由于表达式`len + old_addr < old_end`可能在`len + old_addr`发生环绕时产生误报。在这里,`old_addr`是已移动页面表项的旧范围的游标。如果操作成功,`old_addr`将是旧区域的末尾,向`old_addr`添加`len`可能会导致地址环绕。这种溢出导致`mremap()`错误地认为页面表项(PTE)已经被复制。其后果是,`mremap()`会失败,但在新的虚拟内存区域(VMA)被解除映射之前,它不会将PTE移回,导致该区域的匿名页面丢失。因此,如果用户空间尝试对私有匿名区域进行`mremap()`操作并遇到此漏洞,`mremap()`将返回错误,私有匿名区域的内容似乎已被清零。此检查的意图是`old_end - len`是原始起始地址,以这种方式写检查也更容易阅读。因此,通过相应地重新排列比较来修复检查。(另一种修复方法是通过引入一个“orig_old_start”变量或类似的东西来重构此函数。)在一个32位X86内核的虚拟机中进行测试,发现没有此补丁时:用户尝试通过代码创建一个特定大小的内存映射区域并进行重新映射操作。在没有补丁的情况下运行此代码时,mremap()操作会失败,并且原始映射区域的内容似乎被清零。但应用此补丁后:相同的代码测试会显示mremap()操作成功,并且映射区域的内容得以保留。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
 https://access.redhat.com/security/cve/CVE-2024-53111
 https://git.kernel.org/stable/c/909543dc279a91122fb08e4653a72b82f0ad28f4
 https://git.kernel.org/stable/c/a4a282daf1a190f03790bf163458ea3c8d28d217
 https://lore.kernel.org/linux-cve-announce/2024120248-CVE-2024-53111-eb9b@gregkh/T
标签: 暂无
最后更新:2024年12月3日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me