CVE-2021-4034:Linux Polkit 权限提升漏洞复现及修复
2022-04-07 19:35:50

CVE-2021-4034:Linux Polkit 权限提升漏洞复现及修复

漏洞简介

近期,国外安全研究团队在 polkit 的 pkexec 中发现存在的本地权限提升漏洞(CVE-2021-4034)

关于 Polkit pkexec for Linux
Polkit(以前称为 PolicyKit)是一个用于在类 Unix 操作系统中控制系统范围权限的组件。它为非特权进程与特权进程通信提供了一种有组织的方式。也可以使用 polkit 执行具有提升权限的命令,使用命令 pkexec 后跟要执行的命令(具有 root 权限)。

漏洞影响范围

1
2
· 2009年5月至今发布的所有 Polkit 版本
注:Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。

漏洞不影响版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

漏洞复现

  1. 漏洞环境:Linux VM-4-12-centos 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

1

查看pkexec版本:

2

  1. 查看当前id,为本地普通用户。
1
id

3

  1. 执行exp提权root

exp链接:https://github.com/arthepsy/CVE-2021-4034

1
gcc cve-2021-4034-poc.c -o exp

得到exp文件:./exp即可执行,验证id,得到root权限。

4

漏洞修复

1、系统检测(参考:深信服千里目安全实验室)

CentOS 用户可采用如下命令升级到安全版本或更高版本:

1
2
yum clean all && yum makecache
yum update polkit -y

验证修复,通过以下命令可查看 Polkit 是否为安全版本:

1
rpm -qa polkit

Ubuntu 用户可采用如下命令升级至安全版本或更高版本:

1
2
sudo apt-get update
sudo apt-get install policykit-1

验证修复,通过以下命令可查看 Polkit 是否为安全版本:

1
dpkg -l policykit-1

漏洞参考

https://cloud.tencent.com/developer/article/1945253

https://blog.csdn.net/laobanjiull/article/details/122715651