[漏洞修复] Linux polkit本地权限提升漏洞

Linux polkit本地权限提升漏洞

1 背景

公司和项目组同时发起了Linux polkit本地权限提升漏洞,给定了时间和任务,开始着手处理。

2 漏洞描述

在 polkit 的 pkexec 程序中发现了一个本地权限提升漏洞。pkexec 应用程序是一个 setuid 工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。由于当前版本的 pkexec 无法正确处理调用参数计数,并最终会尝试将环境变量作为命令执行。攻击者可以通过控制环境变量,从而诱导 pkexec 执行任意代码。利用成功后,可导致非特权用户获得管理员权限。CVE-2021-4034

polkit 的 pkexec 存在本地权限提升漏洞,已获得普通权限的攻击者可通过此漏洞获取root权限。

目前漏洞POC已被泄露,攻击者利用该漏洞可导致恶意用户权限提升等危害

该漏洞CVSS评分:7.8

危害等级:高危

3 影响范围

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

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

4 漏洞检测

Linux系统用户可以通过查看Polkit版本来判断当前系统是否在受影响范围内,主流Linux发行版命令如下:
本篇主要针对Centos版本为例进行操作
CentOS:

#rpm -qa polkit

5 修复措施

主流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

修复方法为将polkit版本升级至不受影响的版本,
查看polkit版本

rpm -qa polkit

[漏洞修复] Linux polkit本地权限提升漏洞

以下以具备互联网接入和不具备互联网接入的情况进行操作。

5.1 在线修复

针对具备接入互联网的操作系统进行的修复方法,推荐方法

# 清除YUM缓存
yum clean all
# 把服务器的包信息下载到本地电脑缓存起来
yum makecache
# 在线升级polkit版本
yum update polkit -y

5.2 离线修复

官网下载离线安装包

[漏洞修复] Linux polkit本地权限提升漏洞

拷贝至离线服务器

rpm -ivh polkit-0.112-26.el7_9.1.x86_64.rpm

查看

rpm -qa polkit

以上为单台升级,如果涉及到维护多台服务器参考以下方法
将需要维护的服务器的信息维护到hosts文件

# 拷贝至目标服务器
ansible upserver -m copy -a "src=/root/polkit-0.112-26.el7_9.1.x86_64.rpm dest=/root/polkit-0.112-26.el7_9.1.x86_64.rpm"
# 查看目标服务器polkit版本
ansible upserver -m shell -a "rpm -qa polkit"
# 升级
ansible upserver -m yum -a "name=/root/polkit-0.112-26.el7_9.1.x86_64.rpm state=installed"

升级完毕后使用查看命令查看验证升级后的polkit版本

上一篇:flink实时读取mongodb方案调研-实现mongodb cdc


下一篇:linux安装python