好消息是Linux systemd的polkit中存在了7年的安全漏洞, 在许多Linux发行版中使用,已经过修补。坏消息是它一开始就在那里。systemd使用Polkit代替sudo,允许未经授权的用户运行他们本来无法运行的特权进程。原来,您还可以滥用polkit来获得对系统的root访问权限。
你能说“噢!”吗?
在Unix和Linux系统中,获取根权限的能力是最大的邪恶。凯文·巴克豪斯, GitHub安全实验室的一名成员在执行任务时发现了polkit安全漏洞。他把它透露给了波尔基特的维修人员和红帽的安全小组。然后,当一个补丁在2021年6月3日发布时,它被公开披露为CVE-2021-3560。
Backhouse发现一个未经授权的本地用户可以很容易地在服务器上获得根shell 系统使用一些标准shell工具,如bash、kill和dbus send。奇怪的是,虽然这个bug已经很老了,但它最近才开始在最流行的Linux发行版中发布。例如,如果您运行的是Red Hat Enterprise Linux(RHEL)7;Debian 10;或Ubuntu 18.04;你不会受这个安全漏洞的伤害。但是,如果您运行的是较新的RHEL8,Debian测试;或者Ubuntu 20.04,你可能会被它攻击。
为什么?因为这个错误代码在大多数Linux发行版中都没有使用过。然而,最近,易受攻击的代码被后端口到polkit的发布版本中。一个旧的安全漏洞重新焕发了生机。
这并不是这个虫子长时间躲在公众视线里的唯一原因。Backhouse解释说,安全漏洞不会在每次运行可以调用它的程序时触发。为什么?结果是polkit在不同的代码路径上多次向dbus daemon请求请求进程的UID[用户ID]。大多数代码路径都能正确处理错误,但其中一个不能。如果您提前终止dbus send命令,它将由一个正确的代码路径处理,请求将被拒绝。要触发易受攻击的代码路径,必须在适当的时候断开连接。而且由于涉及到多个进程,因此每次运行的“正确时刻”的时间各不相同。这就是为什么开发通常需要几次尝试才能成功。我想这也是为什么以前没有发现这个bug的原因。
这是个鬼鬼祟祟的小东西。
但是,当Backhouse说它不可能总是被利用的时候,没有理由不担心它。你可以很容易地编写一个脚本,在几分钟的尝试后肯定会激活它。Red Hat警告说:“此漏洞的最大威胁是数据机密性、完整性以及系统可用性。”
因此,正如Backhouse所指出的。因为它“非常简单而且易于利用…所以尽快更新Linux安装非常重要。”
那么,你知道现在该怎么做了吗?开始工作修补:您需要将polkit升级到版本0.119或更高版本。
相关报道:
CloudLinux发布针对Linux服务器的UChecker安全工具
Best mobile VPN 2021:确保您在任何地方的隐私
Linux Foundation readies Global covide Certificate Network
艰苦的工作和低劣的薪酬使开源软件面临压力维护人员通过注册,即表示您同意使用条款,并承认隐私政策中概述的数据实践。
您还将获得免费订阅的ZDNet今日技术更新和ZDNet公告时事通讯。您可以随时取消订阅这些时事通讯。
您同意接收CBS系列公司的更新、提醒和促销活动,包括ZDNet的今日技术更新和ZDNet公告时事通讯。您可以随时取消订阅