近日,GitHub 披露了一个 Linux 漏洞,该漏洞可将权限不足的本地用户的权限提升为 root 权限,且整个过程只需要几个简单的命令即可实现。
https://www.qq.com/video/p324...
该漏洞通过 polkit 进行攻击。polkit 是许多 Linux 发行版默认安装的系统服务,通过 systemd 来使用,因此使用 systemd 的 Linux 发行版也会使用 polkit。正因如此,这一漏洞影响了许多 Linux 发行版。
GitHub 安全实验室成员 Kevin Backhouse 率先发现这一漏洞,后经过与 polkit 维护者以及红帽安全团队协调后公布,漏洞补丁也于 6 月 3 日发布。该漏洞的代号为 CVE-2021-3560。
该 bug 7 年前就已出现,近期侵入流行的 Linux 发行版
Kevin Backhouse 在博客中介绍道:这个 bug 实际上相当古老,7 年前在提交 bfa5036 时即被引入,并在 polkit 0.113 版本中首次出现。但是,许多最流行的 Linux 发行版并未安装带有该漏洞的 polkit 版本,直到最近……
下表列举了部分受影响的 Linux 发行版,红帽企业版 Linux(RHEL)、Fedora、Debian、Ubuntu 均在受影响之列。
polkit 是多个 Linux 发行版默认安装的系统服务,负责管理系统权限。如果用户需要更高的权限,则需要由 polkit 做出判断。对于一些请求,polkit 会立即做出允许或拒绝的判定,但有时候 polkit 会弹出对话框,要求管理员输入密码进行授权。
然而 CVE-2021-3560 漏洞破坏了 polkit 的运行机制:无权限的本地攻击者只需在终端执行几个命令(如 bash、kill 和 dbus-send),即可将权限提升至 root 权限。
下图展示了执行 dbus-send 命令后,涉及的五个主要进程:
Kevin Backhouse 表示,利用该漏洞很容易发起攻击,因此用户需要尽快更新 Linux 安装。具备 polkit 0.113(或更高版本)的 Linux 系统都存在风险,其中就包括流行的 Linux 发行版 RHEL 8 和 Ubuntu 20.04。