Linux Polkit权限提升漏洞(CVE-2021-4034)

一、漏洞概述

1月26日,绿盟科技CERT监测到Qualys研究团队公开披露了在Polkit的pkexec 中发现的一个权限提升漏洞(CVE-2021-4034) ,也被称为PwnKit。该漏洞是由于pkexec 无法正确处理调用参数,从而将环境变量作为命令执行,具有任意用户权限的攻击者都可以在默认配置下通过修改环境变量来利用此漏洞,从而获得受影响主机的root 权限。目前该漏洞的细节和PoC已公开,请相关用户尽快采取措施进行防护。

Polkit(PolicyKit)是类Unix系统中一个应用程序级别的工具集,通过定义和审核权限规则,实现不同优先级进程间的通讯。pkexec是Polkit开源应用框架的一部分,可以使授权非特权用户根据定义的策略以特权用户的身份执行命令。

绿盟科技已第一时间成功复现:

参考链接:

https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt

二、影响范围

受影响版本

  • 2009年5月至今发布的所有 Polkit 版本

注:Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。

不受影响版本

CentOS

  • CentOS 6:polkit-0.96-11.el6_10.2
  • CentOS 7:polkit-0.112-26.el7_9.1
  • CentOS 8.0:polkit-0.115-13.el8_5.1
  • CentOS 8.2:polkit-0.115-11.el8_2.2
  • CentOS 8.4:polkit-0.115-11.el8_4.2

Ubuntu

  • Ubuntu 14.04 ESM:policykit-1-0.105-4ubuntu3.14.04.6+esm1
  • Ubuntu 16.04 ESM:policykit-1-0.105-14.1ubuntu0.5+esm1
  • Ubuntu 18.04 LTS:policykit-1-0.105-20ubuntu0.18.04.6
  • Ubuntu 20.04 LTS:policykit-1-0.105-26ubuntu1.2
  • Ubuntu 21.10:policykit-1-0.105-31ubuntu0.1

Debain

  • :policykit-1 0.105-18+deb9u2
  • Debain stretch:policykit-1 0.105-18+deb9u2
  • Debain buster:policykit-1 0.105-25+deb10u1
  • Debain bullseye:policykit-1 0.105-31+deb11u1
  • Debain bookworm,bullseye:policykit-1 0.105-31.1

三、漏洞检测

3.1 版本检测

Linux系统用户可以通过查看Polkit版本来判断当前系统是否在受影响范围内,主流Linux发行版命令如下:

CentOS:

Ubuntu:

四、漏洞防护

4.1 官方升级

1、目前官方已发布补丁修复此漏洞,建议受影响用户及时安装进行防护。下载链接:https://gitlab.freedesktop.org/polkit/polkit/-/commit/a2bf5c9c83b6ae46cbd5c779d3055bff81ded683

2、目前主流Linux发行版均已发布安全补丁或更新版本修复此漏洞,建议用户尽快安装补丁或参照官方措施进行防护:

Linux发行版官方通告
Ubuntuhttps://ubuntu.com/security/CVE-2021-4034
Debainhttps://security-tracker.debian.org/tracker/CVE-2021-4034
Redhathttps://access.redhat.com/security/cve/CVE-2021-4034
Gentoohttps://bugs.gentoo.org/show_bug.cgi?id=CVE-2021-4034
Mageiahttps://advisories.mageia.org/CVE-2021-4034.html

注:如CentOS、Ubuntu、Debian等使用包管理器更新Polkit的Linux发行版,可直接运行下列命令进行更新修复:

CentOS:

Ubuntu:

Debian:

4.2 临时防护措施

若受影响用户使用的操作系统还未发布修复程序,或暂时无法安装补丁更新,在不影响业务的情况下可使用以下措施进行临时防护。

执行下列系统命令移除 pkexec 的 suid位:

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。

绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

Spread the word. Share this post!

Meet The Author

Leave Comment