Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/d0n601/cve-2026-7537
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubd0n601/cve-2026-7537

CVE-2026-7537

MDJM Event Management <= 1.7.8.3 - Autenticato (Amministratore+) Caricamento Arbitrario di File tramite il parametro 'mdjm_email_upload_file'

Vedi Repository
3 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

MDJM Event Management <= 1.7.8.3 - Caricamento Arbitrario di File Autenticato (Amministratore+) tramite il Parametro 'mdjm_email_upload_file'

Il plugin WordPress MDJM Event Management (versione 1.7.8.3 e precedenti) contiene una vulnerabilità di caricamento arbitrario di file che consente agli amministratori autenticati di caricare file PHP dannosi sul server, portando potenzialmente all'esecuzione remota di codice.

Exploit TL;DR

Viene fornito un POC CVE-2026-7537.py per dimostrare un utente autenticato che carica shell.php ed esegue codice remoto:

root@kitploit:~
python3 ./CVE-2026-7537.py http://target-site.com admin password123
[+] Logging into: http://target-site.com/wp-admin
[+] Extracting nonce values...
[+] Uploading web shell: shell.php
[+] Web Shell Location: http://target-site.com/wp-content/uploads/2026/02/shell.php
[+]
[+] Executing test command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Descrizione Tecnica

La vulnerabilità esiste nella funzione mdjm_send_comm_email() della funzionalità di comunicazione. La funzionalità di caricamento non dispone di una corretta validazione dei file durante l'elaborazione degli allegati per le comunicazioni email. Ciò consente agli utenti autenticati con la capacità mdjm_comms_send (amministratori e admin MDJM per impostazione predefinita) di caricare file arbitrari, inclusi file PHP che possono essere eseguiti sul server.

Analisi del Percorso di Attacco

Sorgente: Input utente da $_FILES['mdjm_email_upload_file'] Sink: move_uploaded_file($tmp_path, $file_path) in comms-functions.php#L248

La vulnerabilità si verifica perché:

  1. Registrazione della Route: Il modulo di comunicazione è accessibile agli utenti con la capacità send_comms tramite comms-functions.php#L24.
  2. Controllo delle Capacità: La capacità mdjm_comms_send è concessa agli utenti con permesso manage_mdjm tramite class-mdjm-permissions.php#L626.
  3. Permessi di Ruolo Predefiniti: Il ruolo DJ (class-mdjm-roles.php#L97-L104) NON ha mdjm_comms_send per impostazione predefinita - solo gli amministratori.
  4. Elaborazione delle Azioni: Le sottomissioni dei moduli vengono elaborate tramite la funzione mdjm_process_actions() in admin-actions.php#L26.
  5. Invio all'Handler: L'azione attiva la funzione mdjm_send_comm_email() registrata in comms-functions.php#L300.
  6. Verifica del Nonce: Sebbene esista una protezione CSRF tramite la verifica del nonce in comms-functions.php#L235, non segue alcuna validazione dei file.

Posizione del Codice Vulnerabile

File: includes/admin/communications/comms-functions.php#L241-L251

root@kitploit:~
if ( isset( $_FILES['mdjm_email_upload_file'] ) && '' !== $_FILES['mdjm_email_upload_file']['name'] ) {
    $upload_dir = wp_upload_dir();

    $file_name = $_FILES['mdjm_email_upload_file']['name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
    $file_path = $upload_dir['path'] . '/' . $file_name;
    $tmp_path  = $_FILES['mdjm_email_upload_file']['tmp_name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated

    if ( move_uploaded_file( $tmp_path, $file_path ) ) {
        $attachments[] = $file_path;
    }
}
Scarica lo strumento
  • Elaborazione dell'Input: I dati del file controllati dall'utente da $_FILES['mdjm_email_upload_file'] vengono elaborati direttamente senza validazione in comms-functions.php#L241-L251.
  • Gestione dei File: Il nome del file viene preso direttamente dall'input utente senza sanificazione o validazione dell'estensione.
  • Archiviazione dei File: I file vengono salvati nella directory degli upload di WordPress (/wp-content/uploads/YYYY/MM/) usando move_uploaded_file() senza controlli di sicurezza.