CVE-2026-41651
PackageKit 存在事务标志上的 TOCTOU 竞态条件,可导致以 root 身份任意安装软件包
- 已发布
- 2026年4月22日
- 已更新
- 2026年7月15日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月25日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 39.0%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
PackageKit 是一个 D-Bus 抽象层,允许用户通过跨发行版、跨架构的 API 以安全方式管理软件包。PackageKit 1.0.2 至 1.3.4(含)版本存在事务标志上的检查时间与使用时间(TOCTOU)竞态条件漏洞,该漏洞允许非特权用户以 root 身份安装软件包,从而导致本地权限提升。此漏洞已在 1.3.5 版本中修复。本地非特权用户无需身份验证即可以 root 身份安装任意 RPM 软件包,包括执行 RPM 脚本片段。该漏洞是 `transaction->cached_transaction_flags` 上的 TOCTOU 竞态条件,同时结合了一个静默状态机守卫,该守卫会丢弃非法的向后状态转换,却将损坏的标志保留在原位。`src/pk-transaction.c` 中存在三个缺陷:1. 无条件标志覆盖(第 4036 行):`InstallFiles()` 将调用方提供的标志写入 `transaction->cached_transaction_flags`,而不检查事务是否已被授权/启动。即使事务正在运行(RUNNING),第二次调用也会盲目覆盖这些标志。2. 静默状态转换拒绝(第 873–882 行):`pk_transaction_set_state()` 静默丢弃向后状态转换(例如 `RUNNING` → `WAITING_FOR_AUTH`),但第 1 步中的标志覆盖已经发生。事务在带有损坏标志的情况下继续运行。3. 执行时延迟读取标志(第 2273–2277 行):调度器的空闲回调在调度时读取 cached_transaction_flags,而非在授权时读取。如果在授权与执行之间标志被覆盖,后端将看到攻击者的标志。
来源
12CVE-2026-41651
CVE-2026-41651的概念验证漏洞利用程序,针对PackageKit中的TOCTOU本地权限提升漏洞,包含技术分析、检测逻辑和修复指南。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。