massexploit — массовый CVE-чекер для HP HPLIP (2026-09)
Массовый драйвер для проверки и исследования эксплуатации HP HPLIP < 3.26.6 — CVE-2026-91097 по CVE-2026-91106.
| CVE | CVSS 4 | CWE | Удалённо |
|---|
| CVE-2026-91097 | 7.0 | CWE-787 | да (UI) |
| CVE-2026-91098 | 8.6 | CWE-122 | да (UI) |
| CVE-2026-91099 | 5.1 | CWE-61 | локально |
| CVE-2026-91100 | 6.8 | CWE-78 | локально |
| CVE-2026-91102 | 8.4 | CWE-78 | локально |
| CVE-2026-91101 | 5.1 | CWE-129 | физически |
| CVE-2026-91103 | 5.1 | CWE-191 | физически |
| CVE-2026-91104 | 9.3 | CWE-122 | да |
| CVE-2026-91105 | 8.6 | CWE-122 | да (UI) |
| CVE-2026-91106 | 9.3 | CWE-122 | да |
Исправлено: HPLIP 3.26.6+
Обзор
Совпадения FOFA body="hplip" часто относятся к :8000 PAPPL, а не к :2207. Используйте host:port в списках целей.
Скриншот (массовая проверка --flow)

Требования
- Python 3.9+
pip install -r requirements.txt
Использование
pip install -r requirements.txt
# Single target (default ports 631, 2207, 9100 if no port given)
python poc.py -u 192.0.2.10 --mode check
# FOFA port (recommended)
python poc.py -u 192.0.2.10:8000 --mode check --flow
# Mass — all 10 CVEs
python poc.py --list targets.example.txt --mode check -j 30 -q --flow
# Critical network heap CVEs only
python poc.py --list list_hplip_printer.txt --mode check --cve CVE-2026-91104,CVE-2026-91106
# Exploit research (PAPPL on :8000 → IPP raster; -c id only meaningful on hpssd:2207)
python poc.py -u 192.0.2.10:8000 --mode exploit --cve CVE-2026-91106
python poc.py -u 192.0.2.10:2207 --mode exploit --cve CVE-2026-91100 -c id
FOFA → список целей
# Save export as fofa_csv_1049.csv (or pass -i)
python fofa_to_list.py
# list.txt (all) + list_hplip_printer.txt (title hint = HPLIP Printer Application)
python poc.py --list list_hplip_printer.txt --mode check -j 30 --flow
Формат списка целей
192.0.2.10:8000
192.0.2.11:2207
192.0.2.12|CVE-2026-91106
Строки с |CVE… используют часть до | как хост (необязательная подсказка CVE для вывода совпадений).
CLI
Вывод
| Файл | Содержимое |
|---|
massexploit_results.jsonl | Полный JSON по каждому хосту |
hits.txt | Кандидаты (host|cve,…) |
Распространённые значения status при проверке
| Статус | Значение |
|---|
hplip_surface_candidate | Открытый порт + сопоставление версии/CVE |
|
Ожидания при эксплуатации
| Статус | Значение |
|---|
pappl_raster_sent_no_shell_output | IPP/raster отправлен на порт PAPPL; нет id в HTTP (класс heap RCE) |
Структура репозитория
.
├── poc.py
├── cve_catalog.py
├── hplip_probes.py
├── hplip_exploit.py
├── pappl_ipp.py
├── pappl_raster.py
├── fofa_to_list.py
├── image.png
├── targets.example.txt
├── requirements.txt
├── README.md
├── LICENSE
└── .gitignore
Ограничения
- Это не универсальный веб-сканер — поверхности печати / HPLIP TCP+HTTP.
- Нет публичного вооружённого RCE для 91104/91106 на PAPPL; raster-путь — исследование, согласованное с ZDI-26-656.
- Физические/локальные CVE перечислены для
--cve all, но не эксплуатируются удалённо в масштабе.
- Только авторизованное тестирование.
Ссылки
Правовая информация
Только для авторизованного тестирования безопасности. Вы несёте ответственность за соблюдение применимых законов и правил программ.