Economia Sicurezza informatica
FreeScout corregge una falla di sicurezza scoperta da Webcracy
Il gruppo di ricerca sulla sicurezza di Webcracy ha scoperto una vulnerabilità nell'helpdesk open source FreeScout, che permetteva a un utente autenticato di rallentare il servizio per tutti gli agenti. La falla è stata corretta nella versione 1.8.248.
Il gruppo di ricerca sulla sicurezza di Webcracy, la software house del Locarnese, ha individuato una vulnerabilità nell'helpdesk open source FreeScout. L'ha scoperta Liam Giannini, e i maintainer del progetto l'hanno corretta nella versione 1.8.248, pubblicata insieme all'advisory GHSA-vcgj-6qfr-7qr6 il 17 ottobre.
FreeScout è un software per la gestione dei ticket di assistenza, scritto in PHP con il framework Laravel, usato come alternativa da installare sul proprio server a servizi come Help Scout o Zendesk. Per mostrare agli agenti chi sta leggendo una conversazione in tempo reale, il programma usa un componente chiamato Polycast, che riceve dal browser una richiesta periodica sull'indirizzo POST /polycast/receive.
Il problema stava nel metodo che gestiva quella richiesta, processConvView(). Il codice leggeva l'identificativo della conversazione inviato dal browser e lo usava senza controllarne il formato né verificare che l'utente avesse il diritto di vedere quella conversazione. Il server creava poi una voce in cache e aggiungeva lo stesso identificativo a un array condiviso da tutta l'installazione, chiamato conv_view, che viene letto e riscritto per intero a ogni richiesta e resta valido venti minuti.
Un account bastava per rallentare tutti
Inviando identificativi inventati in numero sufficiente, un utente autenticato poteva far crescere quell'array e rendere più pesante ogni scrittura successiva, comprese quelle degli altri agenti. Un comando pianificato che gira ogni minuto per rimuovere le voci scadute amplificava l'effetto, generando più lavoro per il database e per il sistema di notifiche in tempo reale. Il risultato era un rallentamento dell'helpdesk per tutti gli utenti, senza che l'attaccante avesse bisogno di privilegi di amministrazione e senza accesso ai dati di altre conversazioni.
GitHub ha classificato la falla come di gravità moderata, con punteggio CVSS 3.1 di 6.5, nella categoria dei problemi di consumo incontrollato di risorse. Al momento della pubblicazione non le è stato ancora assegnato un codice CVE.
Webcracy ha trovato il problema analizzando il codice sorgente di FreeScout 1.8.247 e lo ha verificato in un ambiente di laboratorio isolato, con un numero limitato di richieste, senza generare traffico di carico né testare installazioni reali. Nella versione corretta il server accetta solo identificativi numerici validi e controlla, prima di scrivere in cache, che l'utente possa effettivamente vedere la conversazione indicata.
La stessa release 1.8.248 corregge altre tre falle: una che rendeva visibili conversazioni precedenti ad agenti che dovrebbero vedere solo quelle assegnate, una che permetteva di aprire più sessioni riscattando lo stesso invito in parallelo, e un problema in una libreria di terze parti usata da FreeScout. Chi usa una versione precedente dovrebbe aggiornare, facendo prima una copia del database e dei moduli installati.
Webcracy dedica parte del proprio tempo alla revisione di software open source che installa per i propri clienti, segnalando ai maintainer le vulnerabilità trovate.
Commenti
Non ci sono ancora commenti. Puoi essere la prima voce.
