存在漏洞的PackageKit使攻击者能够获得root权限

admin 2026-06-19 05:33:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档披露Linux系统中PackageKit服务的TOCTOU漏洞CVE-2026-41651,攻击者可通过D-BusAPI在模拟安装后替换为恶意包,以root权限执行postinst脚本实现权限提升。关键发现包括利用GLib库的InstallFiles方法绕过授权检查,以及针对Debian/Ubuntu和RPM系统的不同攻击路径。防护建议包括更新PackageKit或监控包管理器进程链与认证日志。 综合评分: 85 文章分类: 漏洞分析,应急响应,威胁情报,安全工具,恶意软件


cover_image

存在漏洞的 PackageKit 使攻击者能够获得 root 权限

Ots安全

2026年6月18日 14:21 广东

在小说阅读器读本章

去阅读

威胁简报

恶意软件

漏洞攻击

Pack2TheRoot (CVE-2026-41651) — Linux 系统中利用PackageKit服务中的 TOCTOU 漏洞进行本地权限提升的漏洞。该服务提供了一个统一的接口,用于通过 D-Bus 安装和删除软件包,并充当用户应用程序和发行版软件包管理器(APT、RPM 等)之间的中间层。所有操作均由具有packagekitdroot 权限的服务执行。

为了与 PackageKit 交互,该漏洞利用了 GLib 库的 D-Bus API,具体来说InstallFiles()是用于安装本地 deb/rpm 软件包的方法。该方法接受一组事务标志,这些标志决定了其行为。某些标志被认为是安全的,无需完全授权即可使用。例如,该simulate标志仅执行依赖项检查,不会导致实际的软件安装。

该漏洞与已创建交易的处理有关。在初始安全检查之后,PackageKit 会将交易标记为安全,但当交易参数随后发生更改时,安全检查不会重新进行。这就造成了 TOCTOU 漏洞:使用特定标志创建的交易simulate可以更改为使用其他none标志的完整软件包安装,而 PackageKit 仍然认为授权已通过。

该 PoC 创建两个本地软件包:一个虚拟软件包和一个有效载荷软件包。前者用于通过安全检查simulate模式。后者包含一个 postinst 有效载荷,该有效载荷在上下文中执行packagekitd。在已发布的 PoC 中,该命令

install -m 4755 /bin/bash /tmp/.suid_bash

这样做会创建一个带有 SUID 权限的 bash 副本。之后,攻击者可以通过运行带有该-p参数的 bash 来获得 root 权限。

要利用此漏洞,需要通过创建两个事务g_dbus_connection_call()。第一个事务调用带有标志InstallFiles()的虚拟包。第二个事务立即重用同一个事务对象,将包替换为有效载荷,并设置标志以进行完整安装。调用后,这两个操作几乎同时被添加到处理队列中。simulateg_variant_new(“(u^as)”, 4, …) g_variant_new(“(u^as)”, 0, …) g_dbus_connection_flush_sync()

因此,尽管仅出于安全操作的目的才获得了授权,PackageKit 仍然以 root 用户身份安装了第二个软件包。后端软件包管理器(dpkg/rpm)以 root 权限运行有效载荷软件包的 postinst/preinst 脚本。

在 Debian/Ubuntu 系统上,界面如下所示:

/bin/sh&nbsp;/var/lib/dpkg/info/<package>.postinst configure

关于转速系统:

/bin/sh&nbsp;/var/tmp/rpm-tmp.*

后渗透攻击取决于安装脚本的内容。它可能包括创建 SUID shell、修改/etc/shadow系统文件、添加 SSH 密钥、创建 systemd 单元文件、修改 PAM 配置以及其他持久化机制。

如何保护自己:

如果无法将 PackageKit 更新到已修补的版本,则通过监控 PackageKit/GLib API 调用或包管理器的进程链来检测攻击。

对于基于 Debian 的系统,一个指标可以是执行 postinst/preinst 脚本,然后/var/lib/dpkg/info/调用chmod或install设置 SUID/SGID 位。

对于基于 RPM 的系统,类似的指标是临时脚本的执行/var/tmp/rpm-tmp.*。

监控软件包管理器调用的发起者也很有用。可疑活动可能是通过非标准软件包管理工具(apt、apt-get、dpkg、rpm、dnf、yum、zypper、mock、koji)执行的进程dpkg-deb. rpmbuild

其他 IoC 可以是 PackageKit 日志中关于身份验证失败的条目,这些条目是在漏洞利用过程中产生的:

May&nbsp;23 13:00:00&nbsp;hostname&nbsp;PackageKit[PID]:&nbsp;uid&nbsp;1000&nbsp;is&nbsp;trying&nbsp;to&nbsp;obtain&nbsp;org.freedesktop.packagekit.package-install-untrusted&nbsp;auth&nbsp;(only_trusted:0)

May&nbsp;23 13:00:01&nbsp;hostname&nbsp;&nbsp;PackageKit[PID]:&nbsp;uid&nbsp;1000&nbsp;failed&nbsp;to&nbsp;obtain&nbsp;auth

END

公众号内容都来自国外平台-所有文章可通过点击阅读原文到达原文地址或参考地址

排版 编辑 | Ots 小安

采集 翻译 | Ots Ai牛马

公众号 | AnQuan7 (Ots安全)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Ots安全 《存在漏洞的 PackageKit 使攻击者能够获得 root 权限》

2026獬豸杯wp-手机部分 网络安全文章

2026獬豸杯wp-手机部分

文章总结: 该文档是2026年獬豸杯手机取证赛题的完整解题报告,详细记录了从手机检材中提取关键证据的全过程。核心内容包括:通过分析系统日志获取设备序列号AM69
评论:0   参与:  0