dasokkk/CVE-2026-14459-14460-pardus-software

GitHub: dasokkk/CVE-2026-14459-14460-pardus-software

针对 Pardus Software Center 1.0.4 的两个本地权限提升漏洞(APT 参数注入与 PolicyKit 授权缺失)的概念验证与武器化利用代码。

Stars: 0 | Forks: 0

# Pardus Software Center — 本地权限提升 (CVE-2026-14459 & CVE-2026-14460) 针对 `pardus-software` 包 (Pardus Software Center) 版本 **1.0.4** 中两个本地权限提升漏洞的概念验证和已武器化漏洞利用代码,两者均已在 **1.0.5** 版本中修复。 | CVE | 类别 | 摘要 | CVSS 3.1 (CERT-TR) | |-----|-------|---------|--------------------| | [CVE-2026-14459](https://nvd.nist.gov/vuln/detail/CVE-2026-14459) | CWE-88 — Argument Injection | `pardus-software` 用户组成员(无 sudo,无密码)向特权 helper 中注入 APT 选项 (`-o Dir::Bin::dpkg=…`) 并以 **root** 身份执行任意代码。 | 8.8 HIGH | | [CVE-2026-14460](https://nvd.nist.gov/vuln/detail/CVE-2026-14460) | CWE-862 — Missing Authorization | `autoaptupdateaction` PolicyKit action 配置为 `allow_any=yes`,允许**任何**本地用户在未经验证的情况下以 root 身份运行更新 helper(造成本地 DoS)。 | 8.8 HIGH | **受影响版本:** `pardus-software` 1.0.4 · **已修复版本:** `pardus-software` 1.0.5 **供应商:** Pardus / TÜBİTAK BİLGEM · **通过供应商和 USOM (CERT-TR) 进行协调披露。** ## 法律 / 授权范围 发布此代码仅用于**防御性研究、教育以及验证已修补的公开漏洞**。这两个问题均已在 `pardus-software` 1.0.5 中修复。 **仅**在您拥有或明确获得授权进行测试的、隔离且一次性的虚拟机上运行它。请勿在您无法控制的系统上运行。您需自行负责遵守所有适用的法律。作者对任何滥用行为概不负责。 ## 仓库结构 ``` pardus-software-lpe/ ├── README.md ├── poc/ │ └── poc.sh # original benign PoC (proof-only; both CVEs) └── exploit/ ├── exploit-14459.sh # CVE-2026-14459 → interactive root shell └── exploit-14460.sh # CVE-2026-14460 → unauth root apt-update (DoS) ``` ### 哪个脚本验证哪个 CVE? 一个单独的 `poc.sh` 通过子命令涵盖了**两项**发现: | 子命令 | 验证目标 | 说明 | |------------|--------|-------| | `poc.sh B` | CVE-2026-14459 | APT 选项注入 (`-o Dir::Bin::dpkg`) — 主要发现 | | `poc.sh A` | CVE-2026-14459 | 通过相同信任路径的本地未签名 `.deb`(辅助演示) | | `poc.sh autoupdate` | CVE-2026-14460 | 未经验证的 root `apt update` | `poc/` 目录下的版本是**无害的**:它仅将 `id` 的输出记录到 `/tmp/pardus_lpe_proof`,并生成一个 setuid-root 的 `/tmp/rootbash` 作为证明。`exploit/` 目录下的版本是武器化版本,即“给我一个 root shell”的等效实现,用于在授权目标上演示。 `poc.sh` SHA256: `1d3f4c19affdb377ac5eee4c695619e9f6a4590350c3936678eb1db2cf601255` ## 环境配置(测试受害者) 无害 PoC 包含一个 helper 脚本,用于在一次性 Pardus 25 虚拟机上创建一个位于 `pardus-software` 组中的非特权 `victim` 账户(无 sudo 权限): ``` sudo ./poc/poc.sh setup-victim sudo cp poc/poc.sh /home/victim/ && sudo chown victim /home/victim/poc.sh ``` ## 运行无害 PoC(仅用于验证) ``` # CVE-2026-14459 — 选项注入(主要) sudo su - victim -c 'cd ~ && ./poc.sh B' # 如果 'hello' 已安装/不可用: ./poc.sh B sl # CVE-2026-14459 — 本地未签名 .deb(次要) sudo su - victim -c 'cd ~ && ./poc.sh A' # CVE-2026-14460 — 未认证 root apt update(任何用户,无需特殊组) sudo useradd -m -s /bin/bash nobody2 sudo cp poc/poc.sh /home/nobody2/ && sudo chown nobody2 /home/nobody2/poc.sh sudo su - nobody2 -c 'cd ~ && ./poc.sh autoupdate' ``` **预期结果:** 没有密码提示;输出显示 `uid=0(root)`,`/tmp/pardus_lpe_proof` 属主为 root,并且 `/tmp/rootbash` 具有权限 `-rwsr-xr-x root root`(setuid root)。对于 `B` 参数,APT 还会输出其自身的提示,表明注入的脚本已替代 dpkg 运行: ``` Warning: APT had planned for dpkg to do more than it reported back (0 vs 5). Affected packages: hello:amd64 ``` ## 运行已武器化漏洞利用版本 **以目标非特权用户身份**(对于 14459,需为 `pardus-software` 的组成员)运行这些代码。 ``` # CVE-2026-14459 → 交互式 root shell ./exploit/exploit-14459.sh # 以 root 身份运行单个命令而不是 shell: ./exploit/exploit-14459.sh -c "id > /root/pwned" # 如果 'hello' 已安装/不可用,请选择一个未安装的包: PKG=sl ./exploit/exploit-14459.sh # CVE-2026-14460 → 未认证 root apt-update(本地 DoS) ./exploit/exploit-14460.sh # 通过重复调用来演示 DoS 攻击面: ./exploit/exploit-14460.sh -n 20 ``` 在已修补的主机(`>= 1.0.5`)上,两个脚本都会正常失败并给出提示。 ## 根本原因(简述) **CVE-2026-14459。** `Actions.py` 的 `install()` 方法按空格拆分其 `packages` 参数,并将标记直接附加到 `apt` 参数向量中——没有名称验证,也没有 `--` 选项终止符。任何看起来像 APT 选项的标记都会被采纳,包括 `-o Dir::Bin::dpkg=`,这会将包管理器后端替换为随后以 root 身份运行的攻击者脚本。`remove/upgrade/reinstall/downgrade` 中也曾存在相同的模式。 **CVE-2026-14460.** `autoaptupdateaction` PolicyKit action 被声明为 `allow_any=yes`,从而在无需身份验证的情况下授权任何主体。任何本地用户都可以以 root 身份调用 `AutoAptUpdate.py` —— 构成了一个本地 DoS 攻击面。 完整的技术分析(英文 + 土耳其文):*([https://medium.com/@dasokkk/missing-authorization-in-pardus-software-center-any-local-user-can-run-apt-update-as-root-de4756d4c1a1] (https://medium.com/@dasokkk/local-privilege-escalation-in-pardus-software-center-via-apt-option-injection-cve-2026-14459-569ad65a2250))* ## 修复方案 已在 `pardus-software` 1.0.5 中修复: - [`a6ff277`](https://github.com/pardus/pardus-software/commit/a6ff27778bd8d2a200692e36dc1cdaa22cc0c51e) — 针对 apt 操作的包名验证(`parse_packages()` 正则表达式 + `--` 分隔符)(CVE-2026-14459)。 - [`70210af`](https://github.com/pardus/pardus-software/commit/70210afff52b1b4ab72daf38af29cb078539216f) — 将 `autoaptupdateaction` 的 `allow_any: yes` 修改为 `auth_admin` (CVE-2026-14460)。 - [1.0.4 → 1.0.5 版本对比](https://github.com/pardus/pardus-software/compare/debian/1.0.4...debian/1.0.5) **如果您正在使用 Pardus,请升级至 `pardus-software` 1.0.5 或更高版本。** ## 参考文献 - NVD: [CVE-2026-14459](https://nvd.nist.gov/vuln/detail/CVE-2026-14459) · [CVE-2026-14460](https://nvd.nist.gov/vuln/detail/CVE-2026-14460) - USOM (CERT-TR) 公告: https://siberguvenlik.gov.tr/guvenlik-bildirimleri/detay/tr-26-0497 - 供应商修复: [`a6ff277`](https://github.com/pardus/pardus-software/commit/a6ff27778bd8d2a200692e36dc1cdaa22cc0c51e) · [`70210af`](https://github.com/pardus/pardus-software/commit/70210afff52b1b4ab72daf38af29cb078539216f) ## 仅限授权测试使用 *研究与协调披露由 Kerem Kaan Daşmaz 完成。*
标签:CSV导出, Cutter, PoC, Web报告查看器, 暴力破解, 本地提权, 逆向工具