信号:恢复 override_rlimit 逻辑(CVE-2024-50271)
CVE编号
CVE-2024-50271
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-19
漏洞描述
在Linux内核中,已经解决了以下漏洞:恢复 override_rlimit 逻辑在提交 d64696905554(“在ucounts上重新实现RLIMIT_SIGPENDING”)之前,对于一类信号,UCOUNT_RLIMIT_SIGPENDING rlimit 并未强制执行。然而现在,即使设置了 override_rlimit,它也是无条件强制执行的。这种行为变化导致了生产问题。例如,当达到限制并且进程接收到 SIGSEGV 信号时,sigqueue_alloc 无法为信号传递分配必要的资源,从而阻止带有 siginfo 的信号传递。这导致进程无法正确识别故障地址并处理错误。从用户空间的角度来看,应用程序并不知道已达到限制,并且 siginfo 实际上已被“损坏”。这可能导致不可预测的行为和崩溃,正如我们在Java应用程序中所观察到的。通过将 override_rlimit 传递给 inc_rlimit_get_ucounts() 并在设置了 override_rlimit 的情况下跳过与 max 的比较来修复此问题。这实际上恢复了旧的行为。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
文章评论