再次......他们在 eBPF 子系统中发现了另一个漏洞

最近有消息称 发现了一个新的漏洞 (已在 CVE-2021-4204 下列出) 在 eBPF 子系统中 (为了改变)...

正是 eBPF 子系统并没有停止成为内核的一个重大安全问题,因为在 2021 年全年,每个月都容易发现两个漏洞,我们在博客上讨论了其中的一些漏洞。

关于当前问题的细节,提到了 检测到的漏洞允许驱动程序在 Linux 内核中运行 在一个特殊的 JIT 虚拟机中,这反过来又允许本地非特权用户获得特权升级并在内核级别执行他们的代码。

在问题描述中,他们提到 该漏洞是由于对传输执行的 eBPF 程序的错误扫描造成的,由于eBPF子系统提供了辅助功能,其正确性由专门的验证者进行验证。

此漏洞允许本地攻击者增加权限
受影响的 Linux 内核安装。 攻击者必须首先获得
在目标系统上运行低权限代码的能力
利用这个漏洞。

在处理 eBPF 程序时存在特定缺陷。 问题 用户提供的 eBPF 程序缺乏适当验证的结果 在运行它们之前。 

除此之外, 一些函数需要 PTR_TO_MEM 值作为参数传递 并且验证者必须知道与参数相关的内存大小以避免潜在的缓冲区溢出问题。

而对于函数 bpf_ringbuf_submit 和 bpf_ringbuf_discard, 传输内存大小的数据不会报告给验证者 (这是问题开始的地方),攻击者利用它来在执行特制的 eBPF 代码时覆盖缓冲区限制之外的内存区域。

攻击者可以利用此漏洞 提升权限并在内核上下文中执行代码。 请注意,大多数发行版默认禁用非特权 bpf。

提到为了让用户进行攻击, 用户必须能够加载他们的 BPF 程序,并且许多最近的 Linux 发行版阻止了它 默认情况下(从 5.16 版开始,内核本身默认禁止对 eBPF 的非特权访问)。

例如,提到了该漏洞 可以在默认配置中被利用 一个仍然被广泛使用的发行版,最重要的是它非常受欢迎 Ubuntu 20.04 LTS, 但在 Ubuntu 22.04-dev、Debian 11、openSUSE 15.3、RHEL 8.5、SUSE 15-SP4 和 Fedora 33 等环境中,只有在管理员设置了参数时才会显示 kernel.unprivileged_bpf_disabled 为 0。

目前,为了阻止该漏洞,提到可以通过在终端中运行以下命令来阻止非特权用户运行 BPF 程序:

sysctl -w kernel.unprivileged_bpf_disabled=1

最后,应该提到的是 该问题从 Linux 内核 5.8 开始出现,并且仍未打补丁 (包括 5.16 版),这就是为什么 漏洞利用代码将延迟7天 并将于 UTC 时间 12:00 发布,即 18 年 2022 月 XNUMX 日。

有了它 它旨在为提供纠正补丁提供足够的时间 的官方渠道中不同 Linux 发行版的用户以及开发人员和用户都可以纠正上述漏洞。

对于那些有兴趣了解在某些主要发行版中消除问题的更新形成状态的人,他们应该知道可以从这些页面中追踪它们:  DebianRHELSUSEFedoraUbuntu拱门。

如果你是 有兴趣了解更多 关于注意事项,可以查阅原文声明 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。