Linux 系统在安全性方面以可靠而著称。 由于大多数 Linux 程序都来自受信任的来源并且通常由社区审查,因此遇到影响非常大的错误是很不寻常的。 然而,这并不意味着 Linux 完全没有这些问题。 最近发现的 PwnKit 系统服务漏洞就是这样一个例子。
PwnKit 漏洞是一个严重的漏洞,它为任何本地用户提供 root 权限。 这个错误特别危险,因为它影响了几乎所有主要的 Linux 发行版。
PwnKit 漏洞是如何工作的?
这个错误的根源在于 Polkit 系统服务,一种在特权进程和非特权进程之间提供通信通道的流行方式。 许多流行的 Linux 发行版,包括 Ubuntu、Debian 和 Red Hat Enterprise Linux,默认使用 Polkit。 所以这个漏洞有一个广泛的攻击面。
值得注意的是, pkexec Polkit 的组件负责该漏洞。 它允许任何非特权用户或本地用户以 root 身份运行 Linux 命令。 还提供了一个概念验证程序,它为任何人提供完全的 root 访问权限。
我们不建议用户自行下载易受攻击的代码。 您可以在以下推文中看到它是如何工作的演示。
要利用 PwnKit 攻击系统,攻击者需要将源代码下载到受害者的系统中,对其进行编译,然后运行该程序。 该漏洞本身就是一个简单的内存溢出。 但是它很容易被利用并且独立于架构的事实使得它对攻击者来说是有利可图的。
保护 Linux 系统免受 PwnKit 攻击
已经提供了补丁来防止 PwnKit 漏洞。 你需要做的就是更新你选择的 Linux 发行版,你应该没问题。
但是,如果您想手动消除 PwnKit 漏洞,您可以删除 设置 来自 pkexec 可执行文件的位。 无论如何,现在更新 Polkit 系统就足够了。