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

在这里插入图片描述

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

5.1 在线修复

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

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

5.2 离线修复

官网下载离线安装包

在这里插入图片描述

拷贝至离线服务器

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版本

5.3 拿来即用

下载漏洞补丁和升级脚本
以下为官网下载完毕的一个polkit版本和一个升级脚本,将需要升级的服务器的信息维护到/etc/ansible/hosts文件中,执行脚本升级即可

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐