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