研究人员警告,Polkit的pkexec组件中曝出一个编号为CVE-2021-4034(PwnKit)的漏洞,它存在于所有主要的Linux发行版的默认配置中。攻击者一旦利用了它,就能获得系统全面的root权限。
CVE-2021-4034已被命名为PwnKit,起源可以追溯到12多年前初次提交的pkexec,这意味着所有Polkit版本统统受到影响。 Pkexec是Polkit开源应用程序框架的一部分,该框架负责协商特权进程和非特权进程之间的交互,pkexec允许授权用户以另一个用户的身份执行命令,兼任sudo的替代品。 容易被利用,PoC预计很快发布 Qualys信息安全公司的研究人员发现,本地攻击者可以使用pkexec程序,在默认安装的Ubuntu、Debian、Fedora和CentOS 上将权限提升到root权限。 他们警告,PwnKit很可能也可以在其他Linux操作系统上被利用。 Qualys漏洞和威胁研究总监Bharat Jogi解释道,PwnKit是“Polkit中的一个内存损坏漏洞,它允许任何非特权用户在使用默认polkit配置的易受攻击的系统上获得全面的root权限。” 研究人员特别指出,自2009年5月pkexec inn的第一个版本发布以来,这个问题就一直潜伏着。下面的视频演示了可利用该漏洞的隐患: 研究人员表示,利用该漏洞非常容易,预计概念验证(PoC)漏洞利用代码会在短短几天后发布。Qualys研究团队不会发布PwnKit的PoC。 在Qualys发布PwnKit的技术细节后不到三个小时,坊间就已经出现了漏洞利用代码。 IT安全外媒BleepingComputer编译并测试了可用的漏洞利用代码,证明它很可靠,因为它每次都为我们提供了系统的root权限。
谈到漏洞利用代码,CERT/CC漏洞分析师Will Dormann表示,该漏洞利用代码简单又通用。研究人员在ARM64系统上进一步对其进行了测试,表明它在该架构上同样有效。 Qualys在2021年11月18日负责任地报告了该安全问题,并在发布PwnKit背后的技术细节之前等待补丁出来。 该公司强烈建议管理员优先打上Polkit的开发者几个小时前在其GitLab上发布的补丁。 Linux发行版在今天Qualys 经过协调的披露前几周可以获取补丁了,预计今天开始会发布经过更新的pkexec软件包。 Ubuntu已经发布了PolicyKit的更新,以堵住版本14.04和16.04 ESM(扩展安全维护)以及最新的版本18.04、20.04和21.04中的漏洞。用户只需运行标准系统更新,然后重新启动计算机,更改即可生效。 Red Hat也为Workstation和Enterprise产品上的polkit提供了安全更新。 尚未发布补丁的操作系统的临时缓解措施是,使用以下命令,剥夺pkexec的读/写权限:
如果用户想要寻找PwnKit漏洞被利用的迹象,可以检查日志,查找“The value for the SHELL variable was not found the /etc/shells file”(/etc/shells文件中未找到SHELL变量的值)或“The value for environment variable […] contains suspicious content.”(环境变量的值[...]含有可疑内容)条目。 然而Qualys特别指出,可以在不留痕迹的情况下利用PwnKit。 去年,GitHub安全实验室的研究人员Kevin Backhouse发现了另一个影响Polkit的旧的权限提升漏洞。 自该组件的0.113版本以来,这个漏洞已存在了七年,并影响几大流行的Linux发行版,包括RHEL 8、Fedora 21(或更高版本)、Ubuntu 20.04和Debian(“bullseye”)及其衍生版的不稳定版本。
|