聚焦源代码安全,网罗国内外最新资讯!

漏洞说明

polkit是默认安装在很多Linux发行版上的系统服务。CVE-2021-3560是polkit中潜伏了7年之久的漏洞,于2021年6月份公布。该漏洞能使非特权本地用户获得系统root权限。CVE-2021-3560漏洞于polkit 0.113版引入,但是很多流行的Linux发行版直到最近才引入包含漏洞的版本。下表展示的是一些流行的Linux发行版及是否包含此漏洞的情况:

为了帮助解释该漏洞,首先对dbus-send命令执行过程进行说明。

虚线上方的两个进程dbus-send和Authentication Agent是非特权用户进程。线下的那些是特权系统进程。中间是dbus-daemon,它处理所有的通信:其他四个进程通过发送 D-Bus 消息相互通信。下面是通过dbus-send创建新用户的事件顺序:

1. dbus-send要求accounts-daemon创建一个新用户。

2. accounts-daemon从dbus-send接收 D-Bus 消息。该消息包含唯一的连接名称,我们假设它是“:1.96”。此名称被dbus-daemon附加到消息中,且不能被伪造。

3. accounts-daemon向polkit询问连接:1.96 是否被授权以创建新用户。

4. polkit向dbus-daemon询问连接:1.96的 UID。

5. 如果连接:1.96 的 UID 为“0”,则 polkit 立即授权该请求。否则,它会向身份验证代理发送允许授权请求的管理员用户列表。

6. Authentication Agent打开一个对话框以从用户那里获取密码。

7. Authentication Agent将密码发送给 polkit。

8. polkit 将“是”回复发送回accounts-daemon。

9. accounts-daemon 创建新的用户帐户。

CVE-2021-3560漏洞位于上述事件序列的第四步。如果 polkit 向dbus-daemon请求总线:1.96 的 UID,但总线:1.96 不再存在,会发生什么?dbus-daemon正确处理这种情况并返回错误。但事实上 polkit 没有正确处理该错误,它没有拒绝请求,而是将请求视为来自 UID 0 的进程。换句话说,它立即授权请求。向dbus-demon请求总线UID的函数为polkit_system_bus_name_get_creds_sync。

利用过程

操作系统:Ubuntu20.04

该漏洞非常容易被利用,它需要的只是标准的工具,比如终端的几个命令bash、kill和dbus-send,本节中描述的PoC依赖两个软件包accountsservicegnome-control-center在 Ubuntu等桌面图形系统上,这两个软件包通常默认安装。该漏洞与accountsservicegnome-control-center没有任何关系,它们只是 polkit 客户端,同时是方便利用的载体。

为了避免重复触发身份验证对话框,建议从 SSH 会话运行命令:

该漏洞是通过启动dbus-send命令但在 polkit 仍在处理请求的过程中将其杀死而触发的。为了确定杀死dbus-send进程的时间,首先我们要测量dbus-send正常运行的时间:

因此我们可以在7毫秒内杀死dbus-send进程进程以触发漏洞,完成用户创建的目的:

接着使用同样的方式为这个用户设置密码:

最后,我们就可以以boris2身份登录并成为root用户:

参考

https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/#vulnerability

推荐阅读

Windows PrintNightmare 漏洞和补丁分析

从 CVE-2020-1048 到 CVE-2020-17001:Windows打印机模块中多个提权漏洞分析

微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

详细分析开源软件 ExifTool 的任意代码执行漏洞 (CVE-2021-22204)

详细分析 Sonlogger 任意文件上传漏洞 (CVE-2021-27964)

手把手教你详细分析 Chrome 1day 漏洞 (CVE-2021-21224)

Codecov后门事件验证分析

题图:Pixabay License

本文由奇安信代码卫士原创出品转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

CVE-2021-3560的漏洞说明及利用流程相关推荐

  1. Android Parcelable反序列化漏洞分析与利用

    文章目录 前言 背景知识 Parcelable序列化 Bundle的数据结构 LaunchAnyWhere CVE-2017-13288 漏洞利用原理解析 POC程序攻击演示 CVE-2017-133 ...

  2. CVE-2013-2551漏洞成因与利用分析(ISCC2014 PWN6)

    CVE-2013-2551漏洞成因与利用分析 1. 简介 VUPEN在Pwn2Own2013上利用此漏洞攻破了Win8+IE10,5月22日VUPEN在其博客上公布了漏洞的细节.它是一个ORG数组整数 ...

  3. 易想团购 注入 user.php,易想团购系统通杀SQL注入漏洞分析及利用漏洞预警 -电脑资料...

    刚打开红黑看到J8基友写的一个{易想团购系统 最新版 通杀}的文章,看他贴的代码里面有个get_client_ip()函数,哈哈,我猜没过滤,果断下了一套程序, 找到get_client_ip()函数 ...

  4. c++ 界面交互影响处理代码执行速度_原创 | 某SCADA的远程代码执行漏洞挖掘与利用...

    作者 | 绿盟科技格物实验室 陈杰 前言 近年来网络安全形势日渐严峻,国内外都开始对工控安全越来越重视,而工控领域由于常年来对安全的忽视,导致暴露出数量惊人的严重安全漏洞,更为严重的是,相当一部分厂商 ...

  5. routersploit 路由器漏洞检测及利用框架

    RouteSploit框架是一款开源的漏洞检测及利用框架,其针对的对象主要为路由器等嵌入式设备. 框架功能 RouteSploit框架主要由可用于渗透测试的多个功能模块组件组成, 1. Scanner ...

  6. Vivotek 摄像头远程栈溢出漏洞分析及利用

    近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃. 漏洞作者@bashis 放出了可造成摄像头 Crash 的 PoC :https://www. ...

  7. CVE-2013-3897漏洞成因与利用分析

    CVE-2013-3897漏洞成因与利用分析 1. 简介 此漏洞是UAF(Use After Free)类漏洞,即引用了已经释放的内存.攻击者可以利用此类漏洞实现远程代码执行.UAF漏洞的根源源于对对 ...

  8. web渗透测试思路浅谈-----漏洞发现及利用

    0x02 漏洞发现及利用 1.SQL注入 SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中,再将这些参数 传递给后台的SQL数据库加以解析并执行的漏洞,具体过程如下: 注入类型有get ...

  9. 易想团购 注入 user.php,易想购物(easethink)存在sql注入漏洞,附利用测试POC

    漏洞概要 缺陷编号:WooYun-2013-022023 漏洞标题:易想购物(easethink)存在sql注入漏洞,附利用测试POC 相关厂商:易想购物 漏洞作者:lxsec 提交时间:2013-0 ...

最新文章

  1. online_judge_1046
  2. mvc创建连接mysql_MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo
  3. python123电脑登录不了_Python-用户登陆,密码失败3次,账户将被锁住(login)
  4. App主流UI框架结构
  5. 异步编程Promise、Generator和Async
  6. LeetCode 933. 最近的请求次数(queue)
  7. 问题六十八: 着色模型(shading model)(0)——《Ray Tracing from the Ground Up》代码的移植
  8. 计算机操作系统|汤小丹|第四版|习题答案(五)
  9. STM32-正弦波可调(50HZ~20KHZ可调、峰峰值0~3.3V可调)
  10. 2016计算机考研408答案,2016年计算机408统考考研真题及答案解析.pdf
  11. rancher 修改IP
  12. 小呆聚合支付系统免签约即时到账多商户支付系统v6.5+监控软件+教程
  13. DNS 域名解析系统:CNAME 记录的作用是?
  14. 数据传输完整性_数据集成:什么是数据完整性?
  15. 售前笔记(三)——PPT方案
  16. 产品设计方法论:用户体验五要素
  17. 第一章 HTML基础
  18. Spectral Clustering(谱聚类和其他)
  19. 2021-2027全球与中国单向拉伸聚丙烯薄膜市场现状及未来发展趋势
  20. 基于Go语言Beego+Layui的OA办公系统

热门文章

  1. Ubuntu Touch未来支持对用户数据加密
  2. VS2010 error LNK2019: 无法解析的外部符号
  3. 对Moss 2007中访问群体的设置和使用补充
  4. 擷取 GridView 資料列的欄位值集合
  5. RED HAT 7 性能监控工具
  6. MySQL utf8mb4字符集配置,支持emoji表情存储
  7. clock gate cell
  8. WEB 自动化测试工具 Selenium 简介及其应用
  9. C++ 沉思录——Chap4:设计类的核查表
  10. JQuery Mobile中特有事件和方法