一个潜伏了 12 年的 bug 让攻击者在每个重要的 Linux 发行版上都获得了 root 权限

软件使用技巧 网络投稿 2022-02-20 22:45 989 0

Qualys 的安全研究人员披露了 Polkit(以前称为 PolicyKit)组件中存在的一个漏洞,该组件存在于所有 GNU/Linux 发行版中,用于控制系统范围的权限。

据研究人员称 ,该漏洞 ( CVE-2021-4034) 是在 PolicyKit 的 pkexec 工具中发现的,该工具错误地处理了命令行参数。这可能导致本地权限升级,允许 GNU/Linux 发行版中的任何普通用户获得管理权限并以管理员(root)身份运行程序。

坏消息是 PolicyKit 的 pkexec 工具自 2009 年 5 月创建以来已存在超过 12 年的漏洞,即使 Polkit 守护程序没有运行,它也可以被利用。

尽管 Qualys 的研究人员尚未发布他们的漏洞利用程序,但他们表示该漏洞“可轻易利用”,并警告 Linux 用户,其他研究人员可能会在大多数发行版中提供补丁后不久发布他们的漏洞利用程序。

好消息是大多数主要的 GNU/Linux 发行版已经收到了 Polkit 包的补丁版本。在撰写本文时,Debian发布了 Debian GNU/Linux 10 “Buster” 和 Debian GNU/Linux 11 “Bullseye” 系统的补丁,Canonical发布了所有支持的 Ubuntu 版本的补丁。

Red Hat 和 Fedora 项目也在测试所有受支持的 Red Hat Enterprise Linux 和 Fedora Linux 版本的补丁,当然,Polkit 漏洞现在已经在流行的滚动发布发行版(如 Arch Linux 和 openSUSE Tumbleweed)中进行了修补。

如果您的发行版尚未收到针对此 Polkit 漏洞的补丁,Qualys 研究人员建议您通过在终端模拟器中运行以下命令,从 pkexec 工具中删除 SUID 位作为临时缓解措施。

 chmod 0755 /usr/bin/pkexec


看到本文后请速让您的 GNU/Linux 发行版始终保持最新状态,并且不要忽略可供安装的更新和安全补丁。如果您已经是最新的,那么您不应该再担心这个 PolicyKit 缺陷了。

更新:打补丁的 Polkit 软件包今天也登陆了所有受支持的 Fedora Linux 版本。

最近Linux 用户收到了一大堆坏消息——一个名为 Polkit 的系统工具中存在 12 年历史的漏洞使攻击者可以在运行开源操作系统的任何主要发行版的机器上不受限制的 root 权限。


Polkit 以前称为 PolicyKit,它在类 Unix 操作系统中管理系统范围的权限。 它为非特权进程与特权进程安全交互提供了一种机制。 它还允许用户使用名为 pkexec 的组件执行具有高权限的命令,然后执行命令。


易于利用且 100% 可靠


与大多数操作系统一样,Linux 提供了权限级别的层次结构,用于控制应用程序或用户何时以及哪些内容可以与敏感的系统资源进行交互。 该设计旨在限制如果应用程序被黑客入侵或恶意或不信任用户对网络具有管理控制权时可能发生的损害。


自 2009 年以来,pkexec 包含了一个内存损坏漏洞,对易受攻击的机器进行有限控制的人可以利用该漏洞将权限一直提升到 root。   利用该漏洞是微不足道的,并且根据某些说法,100% 可靠。   已经在易受攻击的机器上占有一席之地的攻击者可以滥用该漏洞来确保恶意负载或命令以可用的最高系统权限运行。   PwnKit,正如研究人员所说的漏洞,即使 Polkit 守护程序本身没有运行,也可以被利用。


PwnKit 于 11 月由安全公司 Qualys 的研究人员发现,并在大多数 Linux 发行版中打了补丁后于周二披露。


Qualys 漏洞威胁研究总监 Bharat Jogi 在一封电子邮件中写道:


最有可能的攻击场景来自内部威胁,恶意用户可以从没有任何权限升级到完全 root 权限。 从外部威胁的角度来看,如果攻击者能够通过另一个漏洞或密码泄露在系统上站稳脚跟,那么该攻击者就可以通过此漏洞升级到完全 root 权限。


Jogi 说,漏洞利用需要对易受攻击的机器进行本地身份验证访问,并且如果没有这种身份验证,则无法远程利用。


目前,Qualys还没有发布概念验证的漏洞代码,因为担心代码会被证明是黑客的福音而不是防御者的福音。研究人员表示,PwnKit在广泛被利用只是时间问题。


"渗透测试员和SANS的处理人员Bojan   Zdrnja写道:"我们预计,该漏洞将很快公开,攻击者将开始利用它--这对任何允许用户访问外壳的多用户系统来说特别危险。该研究人员说,他成功地重新创建了一个在运行Ubuntu  20.04的机器上工作的漏洞。


主要的 Linux 发行商已经发布了针对该漏洞的补丁,安全专家强烈敦促管理员优先安装补丁。 那些不能立即打补丁的人应该使用

 chmod 0755 /usr/bin/pkexec


 命令从 pkexec 中删除 SUID 位,这会阻止它作为二进制文件运行。


那些想知道该漏洞是否已在其系统上被利用的人可以检查日志条目,这些条目显示“在 /etc/shells 文件中找不到 SHELL  变量的值”或“环境变量的值 [...] 包含 可疑内容。” 然而,Qualys 提醒人们,PwnKit 也可以被利用而不会留下任何痕迹