
CVE‑2026‑58048 – Boîte à outils d'exécution SQL root cPanel

USAGE ÉTHIQUE UNIQUEMENT – TESTS DE SÉCURITÉ AUTORISÉS
Ce dépôt fournit des outils destinés exclusivement aux professionnels de la sécurité autorisés, aux blue teams et aux testeurs d'intrusion.
Tout accès non autorisé à des systèmes informatiques est illégal en vertu du CFAA (États-Unis), du Computer Misuse Act (Royaume-Uni), du TCK 243/244 (Turquie) et de lois similaires dans le monde entier.
Aperçu de la vulnérabilité
CVE‑2026‑58048 est une vulnérabilité critique d'injection SQL dans les versions 11.x de cPanel & WHM qui permet à un utilisateur cPanel authentifié d'exécuter des commandes SQL arbitraires avec les privilèges root MySQL via la fonctionnalité de renommage de base de données.
Fonctionnement
- Accès authentifié requis – l'attaquant doit disposer d'un compte cPanel valide (nom d'utilisateur/mot de passe) sur le serveur cible.
- Manipulation du mode SQL – l'exploit configure la session MySQL en mode
ANSI_QUOTES, ce qui modifie le comportement d'analyse syntaxique.
- Injection via renommage de base de données – lors du renommage d'une base de données, le nouveau nom n'est pas correctement assaini, ce qui permet à l'attaquant d'injecter des instructions SQL arbitraires.
- Privilèges root – comme l'opération de renommage s'exécute avec les privilèges root MySQL, le SQL injecté est exécuté avec les permissions de base de données les plus élevées.
- Impact – prise de contrôle complète des bases de données, élévation de privilèges, compromission du serveur, vol de données, portes dérobées et mouvement latéral. Mettez à jour immédiatement !
Versions affectées
- cPanel & WHM 11.110 et antérieures – vulnérables
- 11.111 – 11.118 – vulnérables
- 11.119 – 11.126 – vulnérables
- 11.127 – 11.134 – vulnérables
- 11.135 – 11.136 – vulnérables
- 11.137.x – vulnérables en dessous de
11.137.1.6
- 11.138.1.6 et ultérieures – corrigées
Correctif
- Mettez à niveau vers cPanel & WHM 11.138.1.6 ou une version plus récente.
- Si la mise à niveau n'est pas possible, désactivez les opérations de renommage MySQL pour les utilisateurs cPanel comme solution de contournement temporaire.
Outils
| Outil | Objectif | Utilisateur visé |
|---|
exploit.py | Boîte à outils complète et weaponisée avec reverse shell, persistance, RCE via UDF, lecture/écriture de fichiers, opérations sur les bases de données, prise en charge de proxy et scan de masse. | Red teams / pentesters autorisés |
safecheck.py | Vérificateur de vulnérabilité non intrusif qui détecte la version de cPanel et évalue le risque sans exécuter de charge utile malveillante. Génère des rapports détaillés. | Blue teams / auditeurs de sécurité |
Comparaison des fonctionnalités
| Fonctionnalité | exploit.py | safecheck.py |
|---|
| Détection de vulnérabilité | [+] | [+] |
| Détection de version | [+] | [+] |
| Injection SQL root MySQL | [+] | [-] |
| Reverse shell | [+] | [-] |
| Persistance (création d'utilisateur cPanel) | [+] | [-] |
| RCE via UDF (exécution de commandes) | [+] | [-] |
| Lecture/écriture de fichiers | [+] | [-] |
| Opérations sur les bases de données (tout SQL) | [+] | [-] |
| Prise en charge de proxy | [+] | [+] |
| Scan de masse (multi‑thread) | [+] | [-] |
| Shell interactif | [+] | [-] |
| Mode non intrusif (sûr) | [-] | [+] |
| Mode verbeux/Débogage | [+] | [+] |
| Contrôle de vérification SSL | [+] | [+] |
| User‑Agent personnalisé | [+] | [+] |
| Délai entre requêtes / tentatives | [+] | [-] |
| Sortie JSON / rapport | [+] | [+] |
| Vérification d'accessibilité des endpoints | [-] | [+] |
| Détection de fuite du mode SQL | [-] | [+] |
Résumé des cas d'usage
| Scénario | Outil recommandé |
|---|
| Blue Team – vérifier si votre installation cPanel est vulnérable | safecheck.py |
| Audit de sécurité – évaluation de vulnérabilité non intrusive | safecheck.py |
| Red Team – test d'intrusion autorisé avec exploitation complète | exploit.py |
| Bug Bounty – test de divulgation responsable | safecheck.py |
| Scan de masse – vérification de plusieurs cibles pour la vulnérabilité | exploit.py (détection uniquement) |
| Réponse à incident – vérifier si des systèmes sont compromis | safecheck.py |
Installation
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requirements.txt
requests
urllib3
colorama
pymysql
Paramètres
Paramètres de exploit.py
| Paramètre | Description |
|---|
-t, --target | URL cPanel cible (ex. https://cpanel.example.com:2083) |
-l, --target-file | Fichier contenant la liste des cibles (une par ligne) pour le scan de masse |
-u, --mysql-user | Nom d'utilisateur cPanel/MySQL |
-P, --mysql-pass | Mot de passe cPanel/MySQL |
--mysql-port | Port MySQL (par défaut : 3306) |
-p, --port | Remplacer le port cPanel (par défaut depuis l'URL ou 2083) |
--threads | Nombre de threads pour le multi‑cibles (par défaut : 10) |
-o, --output | Enregistrer les résultats dans un fichier (cible unique) |
--log | Fichier de journal pour une sortie détaillée |
-v, --verbose | Sortie verbeuse |
--proxy | Proxy HTTP/HTTPS (ex. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personnalisé |
--no-keep-alive | Ne pas maintenir la session active |
--delay | Délai entre les requêtes (par défaut : 2.0s) |
--max-retries | Nombre maximal de tentatives (par défaut : 3) |
--ssl-verify | Vérifier les certificats SSL |
--cmd | Commande à exécuter (préfixer par sql: ou udf: pour un type spécifique) |
--inject | SQL personnalisé à injecter (remplace les autres actions) |
--reverse-shell | IP:PORT du reverse shell (utilise UDF) |
--passwd | Changer le mot de passe root MySQL |
--adduser | Créer un utilisateur cPanel (USER DOMAIN PASSWORD) |
--read | Lire un fichier via LOAD_FILE |
-i, --interactive | Shell interactif après exploitation |
--verify | Vérifier le succès de l'exploit en tentant une connexion MySQL |
--ping | Ping la cible avant l'exploitation |
Paramètres de safecheck.py
| Paramètre | Description |
|---|
-t, --target | URL cPanel cible (ex. https://cpanel.example.com:2083) |
-v, --verbose | Sortie verbeuse |
--proxy | Proxy HTTP/HTTPS (ex. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personnalisé |
--ssl-verify | Vérifier les certificats SSL |
--timeout | Délai d'attente des requêtes en secondes (par défaut : 10) |
--log | Enregistrer le rapport dans un fichier |
--json | Sortir les résultats au format JSON |
Scénarios