LKRG 0.9.0发布:发现7个Linux内核漏洞的幕后故事

本文详细介绍了LKRG 0.9.0版本发布过程中发现的7个Linux内核漏洞,包括CVE-2021-3411、CVE-2020-27825等关键安全问题,涉及KPROBE优化器、ftrace环形缓冲区等核心技术组件的漏洞分析和影响范围。

LKRG 0.9.0 已发布!

在LKRG的开发和测试过程中,我发现了7个Linux内核漏洞,其中4个获得了CVE编号(但1个CVE编号覆盖了2个漏洞):

CVE-2021-3411 - Linux内核:KRETPROBES和优化器存在缺陷 CVE-2020-27825 - Linux内核:由于竞争条件导致ftrace环形缓冲区调整大小逻辑中的Use-After-Free漏洞 CVE-2020-25220 - Linux内核:针对CVE-2020-14356的后向移植补丁中的Use-After-Free漏洞(受影响内核:4.9.x至4.9.233之前、4.14.x至4.14.194之前、4.19.x至4.19.140之前) CVE-2020-14356 - Linux内核cgroup BPF组件中的Use-After-Free漏洞(受影响内核:4.5+至5.7.10)

我还发现了与ftrace UAF漏洞(CVE-2020-27825)相关的另外两个问题:

  • 死锁问题尚未真正解决,开发人员表示会关注但更新不多
  • 与hwlatd内核线程相关的代码问题 - 与其启动器/终止器的同步不正确,可能导致内核持续产生WARN警告

CVE-2021-3411涉及两种不同类型的漏洞:

  • 近期报告的KRETPROBE损坏问题
  • KPROBE优化器与链接器最新更改的不兼容问题

此外,我还发现了一个关于濒死进程中内核信号处理的漏洞: CVE-2020-12826 - Linux内核5.6.5之前版本对退出信号的限制不足

不过我不确定这个漏洞是否是在LKRG相关工作期间发现的,因此未计入统计(否则总数将达到8个漏洞,其中5个有CVE编号)。

这些统计数据相当糟糕…但这可能成为LKRG新版本发布时的有趣故事,也可能成为会议演讲的精彩话题。

完整公告可在此处阅读:https://www.openwall.com/lists/announce/2021/04/12/1

此致, Adam

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计