Lutfifakee-Project/CVE-2026-41651
GitHub: Lutfifakee-Project/CVE-2026-41651
这是一个针对CVE-2026-41651漏洞的本地提权利用工具,通过PackageKit的竞争条件在Linux系统上获取root权限。
Stars: 0 | Forks: 0
# 🔥 CVE-2026-41651 — PackageKit TOCTOU 本地提权漏洞 (Pack2TheRoot)
[](LICENSE)
[](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-41651)
[]()
# 📌 概述
**CVE-2026-41651** (亦称 **Pack2TheRoot**) 是一个存在于 **PackageKit** 中的严重 **TOCTOU (Time-Of-Check to Time-Of-Use,检查时/使用时)** 竞争条件漏洞。PackageKit 是众多 Linux 发行版用于抽象包管理的系统服务。
该漏洞允许本地非特权用户在特定条件下操纵 PackageKit 事务状态并绕过授权检查。
## 影响
拥有本地访问权限的攻击者可能能够:
- 以提升的权限安装任意包
- 以 `root` 身份执行包维护脚本
- 实现完全的本地权限提升
- 绕过预期的 `polkit` 授权行为
# ⚠️ 受影响版本
| 组件 | 漏洞版本 | 修复版本 |
| --- | --- | --- |
| **PackageKit** | `1.0.2` – `1.3.4` | `1.3.5` |
### ✅ 已测试环境
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 22.04 (Jammy Jellyfish)
- Debian 12 (Bookworm)
- Kali Linux (最新版)
- 其他使用漏洞版本 PackageKit 的 Debian/Ubuntu 系发行版
# 🔬 技术细节
## 根本原因
问题源于 `src/pk-transaction.c` 内部的多个逻辑缺陷。
| 漏洞 | 位置 | 描述 |
| --- | --- | --- |
| **BUG 1** | 第 4036 行 | `InstallFiles()` 未进行适当状态验证即覆盖了缓存的事务标志和路径 |
| **BUG 2** | 第 876–881 行 | `pk_transaction_set_state()` 默默拒绝向后的状态转换 |
| **BUG 3** | 第 2273–2277 行 | `pk_transaction_run()` 在调度期间读取缓存的标志,而非在授权时读取 |
| **BYPASS** | 第 2893–2900 行 | `SIMULATE` 标志 (`0x4`) 跳过了 `polkit` 授权检查 |
## 攻击流程
```
Attacker (unprivileged) packagekitd (root)
│ │
├── 1. InstallFiles(SIMULATE) ───────► │ polkit bypassed → state = READY
│ │ queued async dispatch
│
├── 2. InstallFiles(payload) ─────────► │ cached flags overwritten
│ │ invalid state transition ignored
│
│ [dispatch occurs] │
│ │ payload processed as root
│ │ maintainer scripts executed
│
└────────────────────────────────────► │ privilege escalation achieved
```
# 🚀 快速开始
## 前置条件
安装所需的开发库:
```
sudo apt update
sudo apt install libglib2.0-dev
```
## 克隆仓库
```
git clone https://github.com/Lutfifakee-Project/CVE-2026-41651.git
cd CVE-2026-41651
```
## 编译
```
gcc -o exploit CVE-2026-41651.c \
`pkg-config --cflags --libs glib-2.0 gio-2.0` \
-Wall
```
## 运行
```
./exploit
```
# 🖥️ 示例输出
```
______ ______ ___ ___ ___ ____ ___________ _______
/ ___/ | / / __/___|_ |/ _ \|_ |/ __/____/ / < / __// __< /
/ /__ | |/ / _//___/ __// // / __// _ \/___/_ _/ / _ \/__ \/ /
\___/ |___/___/ /____/\___/____/\___/ /_//_/\___/____/_/
CVE-2026-41651 - PackageKit TOCTOU Local Privilege Escalation
═══════════════════════════════════════════════════════════════════
[*] Building packages...
[*] Starting race condition...
[*] Waiting for dispatch...
[*] Polling for payload...
[+] SUCCESS — privilege escalation completed
```
# 🛡️ 检测与缓解
## 检查已安装版本
```
pkcon --version
```
或:
```
dpkg -l | grep packagekit
```
### 版本状态
- 存在漏洞 → `1.0.2` – `1.3.4`
- 已修复 → `1.3.5` 或更高版本
## 更新 PackageKit
```
sudo apt update
sudo apt upgrade packagekit
```
## 手动修补
官方发布版本:
- https://github.com/PackageKit/PackageKit/releases
# ⚠️ 免责声明
本仓库严格用于:
- 安全研究
- 防御性安全测试
- 教育目的
- 授权渗透测试
作者对因本项目导致的任何误用、非法活动或损害**概不负责**。
请勿对您不拥有或未经明确许可测试的系统使用此软件。
# 📚 参考文献
- [NVD — CVE-2026-41651](https://nvd.nist.gov/vuln/detail/CVE-2026-41651)
- [GitHub 安全公告](https://github.com/advisories/GHSA-f55j-vvr9-69xv)
- [PackageKit 安全修复提交](https://github.com/PackageKit/PackageKit/commit/76cfb675)
- [OSS-Security 公告](https://www.openwall.com/lists/oss-security/2026/04/23/1)
标签:CSV导出, CVE-2026-41651, CVE漏洞, Pack2TheRoot, PackageKit, polkit绕过, TOCTOU竞态条件, Web报告查看器, 包管理漏洞, 安全漏洞, 客户端加密, 提权漏洞, 本地权限提升, 权限提升攻击, 漏洞分析, 竞态条件漏洞, 系统服务漏洞, 系统漏洞, 路径探测