关于 Linux Polkit 本地权限提升漏洞的安全公告

admin 2022年1月31日18:44:05评论217 views字数 2230阅读7分26秒阅读模式

关于 Linux Polkit 本地权限提升漏洞的安全公告


近日,监测发现Qualys研究团队披露在 polkit 的 pkexec 程序中发现本地权限提升漏洞。2022年1月26日,Linux发布pkexec风险通告,漏洞编号为CVE-2021-4034,漏洞等级:高危,漏洞评分:7.8。目前,此漏洞细节以及PoC/EXP都已经公开,经验证,此漏洞利用难度低且可以稳定利用,建议尽快自查修复。

一、漏洞描述

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

公开的PoC利用此漏洞向系统注入环境变量GCONV_PATH,将该环境变量指向攻击者存放gconv-modules文件的目录,在gconv-modules文件中指定攻击者的恶意.so文件,pkexec会执行.so文件里面的gonv_init()函数,在gonv_init()函数内将自身进程的各个权限标志位设为0从而达到提权。

二、影响范围

用户认证:低权限

触发方式:本地

配置方式:默认

影响版本

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

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

部分受影响的国产化操作系统列表:

银河麒麟高级服务器操作系统 V10

银河麒麟高级服务器操作系统 V10 SP1

银河麒麟高级服务器操作系统 V10 SP2

统信UOS服务器操作系统V20

银河麒麟桌面版操作系统 V10

银河麒麟桌面版操作系统 V10 SP1

统信UOS桌面版操作系统V20

中标麒麟桌面版操作系统V7.0

安全版本

CentOS/RedHat系列:

CentOS/RedHat 6:polkit-0.96-11.el6_10.2

CentOS/RedHat 7:polkit-0.112-26.el7_9.1

CentOS/RedHat 8.0:polkit-0.115-13.el8_5.1

CentOS/RedHat 8.2:polkit-0.115-11.el8_2.2

CentOS/RedHat 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

Fedora系列:

Fedora 34:polkit-0.117-3.fc34.2

Fedora 35:polkit-0.120-1.fc35.1

综合评估漏洞影响范围较大,对此,要求及时将pkexec升级到最新版本。

三、安全建议

1.若使用的操作系统目前无法安装补丁,可以考虑在不影响业务的情况下移除 pkexec 的 SUID 位限制pkexec权限作为临时缓解措施。

执行如下命令:

chmod 755 /usr/bin/pkexec

2.CentOS用户可执行如下命令升级到安全版本:

yum clean all && yum makecache

yum update polkit -y

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

rpm -qa polkit

3.Ubuntu用户可执行如下命令升级至安全版本:

sudo apt-get update

sudo apt-get install policykit-1

验证修复可以执行如下命令查看Polkit是否为安全版本:

dpkg -l policykit-1

4.Debian用户可执行如下命令升级至安全版本:

apt upgrade policykit-1

目前各Linux发行版官方均已给出安全补丁,建议用户尽快升级至安全版本,或参照官方说明措施进行缓解,CentOS、Ubuntu及Debian用户可参考以下链接:

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

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

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

四、复现过程

polkit已更新后存在漏洞



关于 Linux Polkit 本地权限提升漏洞的安全公告

polkit未更新前漏洞修复

关于 Linux Polkit 本地权限提升漏洞的安全公告

原文始发于微信公众号(利刃信安):关于 Linux Polkit 本地权限提升漏洞的安全公告

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月31日18:44:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   关于 Linux Polkit 本地权限提升漏洞的安全公告http://cn-sec.com/archives/760756.html

发表评论

匿名网友 填写信息