Linux Polkit权限提升误差(CVE-2021-3560)

宣布时间 2021-06-11

0x00 误差概述

CVE   ID

CVE-2021-3560

时    间

2021-06-11

类    型

LPE

等    级

高危

远程使用

否

影响规模


攻击重漂后

低

可用性

高

用户交互

无

所需权限

低

PoC/EXP

已果真

在野使用


 

0x01 误差详情

image.png

Polkit是许多Linux 刊行版上默认装置的系统服务 ,它被systemd使用 ,以是任何使用systemd的Linux刊行版都会使用polkit 。

2021年06月03日 ,RedHat宣布清静通告 ,修复了Linux  Polkit中一个保存了7年的权限提升误差(CVE-2021-3560) ,该误差的CVSS评分为7.8 ,乐成使用此误差的攻击者能够获得系统上的 root 权限 。现在GitHub的清静研究员已经果真披露了此误差的细节和PoC 。

 

误差细节

该误差是由于当请求历程在挪用polkit_system_bus_name_get_creds_sync 之前与 dbus-daemon 断开毗连时 ,该历程无法获得历程的唯一uid和pid ,也无法验证请求历程的权限 。

可以通过启动dbus-send下令但在 polkit 仍在处置惩罚请求的历程中终止它来触发此误差 ,在认证请求中终止dbus-send(一个历程间通讯下令)会导致一个过失 ,由于polkit将要求提供一个不再保存的毗连的UID(由于该毗连已被终止) 。而polkit会以一种过失的方法处置惩罚此问题:它不会拒绝这个毗连请求 ,而是把这个请求视为来自UID为0的历程 。

研究职员体现 ,该误差很容易被使用 ,只需要使用 bash、kill 和 dbus-send 等标准终端工具执行几条下令即可 。

 

影响规模

RHEL 8

Fedora 21及更高版本

Debian testing (“bullseye”)

Ubuntu 20.04

 

 

0x02 处置惩罚建议

现在此误差已经修复 ,建议参考Linux各刊行版本的官方通告实时升级更新:

RHEL 8:

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


Fedora 21及更高版本:

https://bugzilla.redhat.com/show_bug.cgi?id=1967424


Debian testing (“bullseye”):

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


Ubuntu 20.04:

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

 

0x03 参考链接

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

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

https://www.theregister.com/2021/06/11/linux_polkit_package_patched/

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3560

 

0x04 时间线

2021-06-03  RedHat宣布清静通告

2021-06-11  VSRC宣布清静通告

 

0x05 附录

 

CVSS评分标准官网:http://www.first.org/cvss/

image.png