
Microworld Technologies eScan Management Console versione 14.0.1400.2281 è vulnerabile a un attacco di Cross-Site Scripting (XSS) persistente.
Microworld Technologies eScan Management Console versione 14.0.1400.2281 è vulnerabile a un attacco di tipo Cross-Site Scripting persistente (Stored XSS). Un attaccante autenticato con accesso alla funzione di gestione dei ruoli può iniettare uno script dannoso nel campo Description di un nuovo ruolo. Il payload viene salvato nel database dell'applicazione ed eseguito nel browser di qualsiasi utente che successivamente visualizzi la pagina interessata, inclusi gli amministratori privilegiati.
Poiché lo script iniettato viene eseguito nel contesto della sessione autenticata della vittima, un attaccante può sfruttare questa vulnerabilità per rubare i cookie di sessione, eseguire azioni per conto della vittima, reindirizzare gli utenti verso pagine di phishing o aumentare i privilegi all'interno della console di gestione.
| Campo | Valore |
|---|---|
| ID CVE | CVE-2023-34838 |
| Tipo di vulnerabilità | Stored Cross-Site Scripting (XSS) |
| CWE | CWE-79 – Improper Neutralization of Input During Web Page Generation |
| Punteggio CVSS v3.1 | 6.4 (Medio) |
| Vettore CVSS | AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| Prodotto interessato | Microworld Technologies eScan Management Console |
| Versione interessata | 14.0.1400.2281 |
| Testato su | Windows |
| Parametro vulnerabile | Description (modulo di creazione nuovo ruolo) |
| Endpoint vulnerabile | /ewconsole/ewconsole.dll/NewRole |
| Autenticazione richiesta | Sì (credenziali valide della console) |
| Data di divulgazione | 23 giugno 2023 |
| Segnalato da | Sahil Ojha |
eScan Management Console è una soluzione centralizzata di gestione della sicurezza degli endpoint utilizzata dalle aziende per gestire le policy antivirus, la gestione delle patch, il controllo dei dispositivi e i ruoli utente attraverso una rete aziendale. La sua interfaccia web è tipicamente distribuita sulla rete interna ed è accessibile sulla porta 10443.
L'applicazione non sanifica né codifica l'input fornito dall'utente nel campo Description del modulo Nuovo ruolo prima di salvarlo nel database e di mostrarlo agli utenti. Quando viene visualizzata la pagina dell'elenco dei ruoli (RoleMainPage), il payload non sanificato viene scritto direttamente nella risposta HTML, facendo sì che il browser analizzi ed esegua lo script iniettato.
"><script>alert(1)</script>
| Area di impatto | Descrizione |
|---|---|
| Dirottamento della sessione | Rubare i cookie di sessione autenticati, ottenendo accesso completo all'account |
| Escalation dei privilegi | Eseguire azioni a livello di amministratore per conto di una vittima con privilegi più elevati |
| Furto di credenziali | Reindirizzare le vittime verso pagine di login controllate dall'attaccante |
| Defacement | Alterare l'aspetto o il comportamento dell'interfaccia della console di gestione |
| Distribuzione di malware | Consegnare payload dannosi agli utenti che visualizzano la pagina compromessa |
Accedi alla eScan Management Console e vai alla pagina Nuovo ruolo. Sostituisci <TARGET_IP> con l'indirizzo IP effettivo della console (ad esempio 192.168.1.1):
http://<TARGET_IP>:10443/ewconsole/ewconsole.dll/NewRole
Compila il campo Nome nuovo ruolo con un valore qualsiasi (ad esempio test) e inserisci il payload XSS nel campo Description:
"><script>alert(1)</script>
Seleziona un gruppo qualsiasi dall'elenco e fai clic su Ok per salvare il ruolo.

Dopo il salvataggio del ruolo, l'applicazione reindirizza alla Pagina principale dei ruoli (/ewconsole/ewconsole.dll/RoleMainPage). Poiché il valore del campo Description viene restituito senza sanificazione, il tag <script> iniettato viene eseguito immediatamente, attivando una finestra di dialogo di avviso nel browser.
In un attacco reale, la chiamata alert(1) verrebbe sostituita con un payload per esfiltrare il cookie di sessione della vittima (ad esempio document.cookie) verso un server controllato dall'attaccante.

Microworld Technologies dovrebbe applicare le seguenti correzioni:
<, >, ", ', ;) dai campi che non richiedono testo formattato.Content-Security-Policy rigorosa per limitare l'esecuzione di script inline.HttpOnly sui cookie di sessione per impedire a JavaScript di accedervi, riducendo l'impatto di un eventuale XSS. Inoltre, impostare il flag Secure per garantire che i cookie di sessione vengano trasmessi solo tramite HTTPS, evitando l'intercettazione su connessioni non cifrate.