🔐 CVE-2025-4322 – Motors <= 5.6.67 - Escalation di Privilegi Non Autenticata tramite Aggiornamento Password/Account Takeover
- Plugin: Motors <= 5.6.67 - Escalation di Privilegi Non Autenticata tramite Aggiornamento Password/Account Takeover
- Versione Vulnerabile: <= 5.6.67
- CVE: CVE-2025-4322
- Gravità: 9.8 (Critica)
- CWE ID: CWE-620
- Nome CWE: Cambio Password Non Verificato
- Patch Applicata: ✅ Sì
- Priorità Patch: 🔴 Critica
- Data Pubblicazione: 19 Maggio 2025
- Ricercatore: https://www.wordfence.com/threat-intel/vulnerabilities/researchers/friderika-baranyai
⚠️ Riepilogo della Vulnerabilità
Il tema WordPress Motors (fino alla versione 5.6.67 inclusa) contiene un grave difetto di autenticazione nella funzionalità di reset della password.
Fornisce un meccanismo di aggiornamento password lato front-end tramite endpoint, ma non riesce a convalidare adeguatamente l'identità o l'autorizzazione dell'utente prima di elaborare le modifiche password.
Di conseguenza, attaccanti non autenticati possono inviare richieste HTTP appositamente create che forniscono un user_id, un hash_check arbitrario e una nuova password (stm_new_password) per resettare la password di qualsiasi utente, inclusi gli amministratori.
Se sfruttata, questo consente agli attaccanti di:
- Ottenere accesso amministrativo,
- Prendere il controllo dell'intero sito,
- Distribuire backdoor persistenti o plugin dannosi.
Questa falla è particolarmente pericolosa perché non richiede login e spesso non lascia tracce evidenti a meno che i log non vengano monitorati.
🧪 Prova di Concetto (PoC)
📥 Richiesta (es. tramite curl):
curl "https://local.ization/loginregister/?user_id=2&hash_check=%C0" --data "stm_new_password=randomizer" -XPOST -v -H 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36'
🛠️ Dov'è il difetto?
- Il tema Motors espone un gestore di reset password lato front-end tramite endpoint come /login, /register, /loginregister, ecc.
- Questo gestore accetta user_id, hash_check e stm_new_password tramite richieste HTTP POST non autenticate
- Il tema non verifica l'identità o l'autenticità del richiedente
- Fintanto che un attaccante fornisce un hash_check valido o aggirabile, il sistema elabora ciecamente le modifiche password
- Non c'è autenticazione, validazione nonce o controllo di proprietà prima di aggiornare le credenziali utente
🔐 Raccomandazione
- Disabilitare o limitare l'accesso a /loginregister/ o endpoint front-end simili se non in uso
- Implementare una rigorosa validazione dell'identità prima di elaborare richieste di reset password (es. controllo utente connesso, validazione token sicuri)
- Evitare di fare affidamento su user_id o hash_check forniti dal client senza verifica lato server
- Applicare aggiornamenti all'ultima versione del tema Motors, o utilizzare patch virtuali (es. tramite WAF) per bloccare richieste POST non autorizzate
- Controllare regolarmente gli endpoint pubblici per comportamenti inaspettati o non documentati
⚠️ Disclaimer
Questo rapporto è esclusivamente per scopi educativi e di test di sicurezza autorizzati.
Lo sfruttamento di questa vulnerabilità senza autorizzazione potrebbe violare i limiti legali ed etici.