fork:仅在没有错误的情况下调用 khugepaged、ksm 钩子(CVE-2024-50263)
CVE编号
CVE-2024-50263
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-11
漏洞描述
在Linux内核中,已经解决了一个漏洞,关于fork函数的调用问题:只在没有错误的情况下调用khugepaged和ksm钩子。对于处于不完整状态的mm,没有理由过早调用这些钩子。在提交d24062914837(“fork:使用__mt_dup()复制maple树”)的更改中,这一点变得更加重要,因为在这种情况下,maple树中的条目可能尚不一致。它们在dup_mmap()函数中的早期放置似乎仅对早期错误检查有意义,并且从功能上讲,只有在最极端的条件下才会出现因分配空间过小而失败的情况,这意味着fork无论如何都会失败或发生内存溢出。由于khugepaged和KSM跟踪都是为了提供内存性能优化而非关键功能,因此在如此极端的内存压力下,未能与这些mm注册其实并不太重要。因此,我们遵循提交d2081b2bf819(“mm:khugepaged:使khugepaged_enter()成为无返回值函数”)的示例,也将ksm_fork()函数设计为无返回值。我们只在完成fork操作并且没有发生错误的情况下,才会将这些函数暴露给mm。
解决建议
"将组件 Linux 升级至 6.8 及以上版本"
文章评论