
Proof-of-concept per CVE-2025-65094: escalatione dei privilegi tramite IDOR in WBCE CMS. Dimostra la manipolazione dell'ID di gruppo per ottenere accesso admin, con analisi dettagliata e indicazioni di remediation.
| Campo | Dettagli |
|---|---|
| CVE ID | CVE-2025-65094 |
| Gravità | ALTA |
| Avviso | Visualizza avviso |
| Scoperto da | Lukasz Rybak |
Un utente con privilegi limitati in WBCE CMS può aumentare i propri privilegi al gruppo Administrators manipolando il parametro groups[] nella richiesta /admin/users/save.php.
L'interfaccia utente limita gli utenti ad assegnare solo il loro gruppo esistente, ma manca la validazione lato server, consentendo agli attaccanti di sovrascrivere la propria appartenenza al gruppo e ottenere l'accesso amministrativo completo.
Questo comporta la compromissione totale del CMS.
I maintainer del progetto hanno risolto il problema nel seguente commit:
9604617Messaggio di commit pertinente:
consentire agli amministratori di assegnare gli utenti a qualsiasi gruppo; gli utenti normali possono assegnare a se stessi e ad altri utenti solo i gruppi a cui appartengono già.
Questo affronta direttamente il controllo degli accessi improprio nell'assegnazione dei gruppi.
WBCE CMS utilizza permessi di gruppo per limitare l'accesso alle funzionalità amministrative.
È stato creato un gruppo limitato (Users) con i seguenti permessi:
| Permission Category | Setting |
|---|---|
| Pages | View |
| Media | View |
| Add-ons | View |
| Settings | View |
| Access → Users | View + Modify |
| Access → Groups | View |
| Admin-Tools | (none) |
Questa configurazione garantisce che gli utenti con privilegi limitati:
La loro unica autorizzazione elevata è:
Users → Modify, pensata esclusivamente per modificare il proprio account.
Quando si modifica il proprio profilo tramite:
Access → Users → Modify User
il backend non convalida se il valore groups[] inviato corrisponde alle opzioni consentite dell'interfaccia utente.
Un attaccante può intercettare e modificare la richiesta:
groups[]=2 → l'attaccante lo cambia in → groups[]=1
Questo assegna immediatamente l'utente al gruppo Administrators.
(come confermato dal commit 9604617)
I seguenti file partecipano all'assegnazione dei gruppi ma in precedenza non disponevano di una corretta logica di autorizzazione:
wbce/admin/users/index.phpwbce/admin/users/users.phpwbce/admin/users/save.phpLa correzione introduce validazione lato server che:
Ciò conferma una vulnerabilità di controllo degli accessi improprio / IDOR nel processo di assegnazione dei gruppi.
Configurare un gruppo denominato Users con:
Navigare fino a:
Access → Users → Modify User
Intercettare la richiesta in uscita utilizzando un proxy come Burp Suite.
Parametro della richiesta originale:
groups%5B%5D=2
Parametro della richiesta modificata:
groups%5B%5D=1
La modifica del parametro a 1 assegna l'utente al gruppo Administrators.
Dopo la ri-autenticazione, l'utente ottiene pieno accesso agli strumenti e alle funzionalità amministrative.
Questa è una vulnerabilità di escalation dei privilegi che consente a qualsiasi utente autenticato con privilegi limitati di:
Questa CVE è stata divulgata in modo responsabile seguendo le pratiche di divulgazione coordinata delle vulnerabilità. Le informazioni qui fornite sono solo a scopo educativo e difensivo.