
Preuve de concept pour CVE-2026-41940, une chaîne de contournement d'authentification dans WHM/cPanel. Scanner multi-threadé qui modifie le mot de passe root sur les cibles vulnérables. Pour tests autorisés uniquement.
Ce dépôt contient un script Preuve de concept (PoC) basé sur une chaîne de contournement d'authentification cPanel/WHM (via le cookie whostmgrsession et les en-têtes HTTP). Après une intrusion réussie, le script modifie le mot de passe root et écrit le résultat dans un fichier.
Utilisez ce logiciel uniquement sur des systèmes pour lesquels vous disposez d'une autorisation explicite (votre propre environnement de laboratoire, pentest sous contrat, test de sécurité approuvé par le fournisseur). L'accès non autorisé est un crime dans la plupart des pays. Ce README est destiné uniquement à la recherche en sécurité et à la sensibilisation à la défense ; les auteurs ne sont pas responsables d'une mauvaise utilisation.
targets.txt)https/login), fuite /cpsess via injection CRLF, déclenchement de do_token_denied, vérification via /json-api/versionres.txtHost (scénarios de reverse proxy / hôte virtuel)ThreadPoolExecutor)#!/usr/bin/env python2.7 — le script utilise la syntaxe Python 2 et urllib / urlparse)requirements.txtpip install -r requirements.txt
Remarque : sous Python 2, le package futures est requis pour concurrent.futures (il est listé dans le fichier). Pour porter le script vers Python 3, il faut adapter urllib, urlparse, print, unicode/str et autres différences ; cela n'a pas été fait dans ce dépôt.
python CVE-2026-41940.py <fichier_liste_cibles> [--hostname HOTE_CANONIQUE] [--threads N] [--timeout SECONDES]
Sortie :
res.txt au format URL et informations de sessionAuthorization / cookies et les redirections inattendues.├── CVE-2026-41940.py # Script principal
├── requirements.txt # Dépendances pip
└── README.md
Modifier le mot de passe sur des systèmes de production après une intrusion comporte un risque de perte de données et d'interruption de service. Testez dans des environnements de laboratoire isolés, hors production, et avec une autorisation écrite ; partagez vos résultats via des processus de divulgation responsable (coordinated disclosure).
| Argument | Description |
|---|
list_file | Une cible par ligne (hôte ou URL ; https:// est ajouté si http:// est absent) |
--hostname | Force le nom canonique utilisé pour Host: et la logique associée dans toutes les requêtes |
--threads | Nombre de threads simultanés (défaut : 15) |
--timeout | Délai d'expiration de connexion en secondes (défaut : 15) |