Una falla di sicurezza dovuta a diverse vulnerabilità nell’app di messaggistica Telegram avrebbe potuto consentire ad un attaccante remoto di mettere in chiaro i messaggi, le foto e i video scambiati dagli utenti nelle loro chat segrete.
Le vulnerabilità, scoperte dal ricercatore di sicurezza Paolo “polict” Giai di Shielder che ha rivelato ulteriori dettagli alla nostra testata, sono state già corrette da Telegram con una serie di patch rilasciate il 30 settembre e il 2 ottobre 2020 nelle versioni iOS, Android e macOS dell’app, ma i dettagli sono stati pubblicati solo ieri al termine dei 90 giorni di responsible disclosure per dare tempo all’app di rilasciare i necessari aggiornamenti.
È dunque importante procedere immediatamente con l’aggiornamento dell’applicazione in uso sui nostri dispositivi per non correre il rischio di esporre dati personali e riservati.
Indice degli argomenti
I dettagli della vulnerabilità in Telegram
Le vulnerabilità in Telegram sono state identificate nel modo in cui le chat segrete (cioè le chat in cui viene utilizzata la crittografia end-to-end per proteggere i messaggi scambiati tra gli utenti) gestiscono gli sticker animati.
Gli “adesivi” non sono altro che file caricati sul cloud di Telegram e referenziati nei messaggi impostando il tipo mime application/x-tgsticker e allegando le coordinate del cloud.
Incuriosito dal funzionamento degli sticker animati e dal loro particolare formato immagine, il ricercatore ha scoperto nella directory di installazione di Telegram la cartella rlottie che, da analisi successive, è risultata essere correlata ad una libreria nativa di Samsung utilizzata per riprodurre le animazioni Lottie, un’altra libreria originariamente creata da Airbnb Design e che consente di rendere le animazioni di After Effects in tempo reale, permettendo alle app di usare le animazioni con la stessa facilità con cui usano le immagini statiche.
Durante le sue analisi, il ricercatore Paolo “polict” Giai ha quindi identificato 13 vulnerabilità in totale:
- 1 heap out-of-bounds write;
- 1 stack out-of-bounds write;
- 1 stack out-of-bounds read;
- 2 heap out-of-bound read;
- 1 integer overflow che porta a heap out-of-bounds read;
- 2 type confusions;
- 5 denial-of-service.
Se sfruttate positivamente, le vulnerabilità avrebbero potuto consentire ad un aggressore remoto di ottenere l’accesso a messaggi, foto e video scambiati dagli utenti con i loro contatti Telegram semplicemente inviando alla vittima un adesivo animato opportunamente modificato.
In particolare, una delle 13 vulnerabilità individuate e segnalate a Telegram è un heap-based buffer overflow. Tale vulnerabilità è causata da un errore di programmazione, tramite il quale è possibile sovrascrivere memoria adiacente all’interno della memoria heap.
Sovrascrivendo tale memoria è possibile modificare informazioni relative ad altre funzionalità dell’app e, potenzialmente, ottenerne il pieno controllo.
Questa vulnerabilità, secondo il ricercatore, avrebbe potuto essere utilizzata in attacchi mirati ad ottenere accesso remoto alle chat della vittima.
Detto questo, i dispositivi moderni implementano diversi livelli di protezione (tra i quali ASLR) per rendere difficoltoso questo tipo di attacco (in gergo “memory corruptions”); per ottenere effettivamente accesso ai messaggi e i media sul dispositivo della vittima sarebbe stata necessaria una ulteriore vulnerabilità che non è stata identificata durante la ricerca, ma che gruppi di criminali state sponsored potrebbero avere individuato per ottenere l’accesso ai dispositivi di avversari politici, giornalisti o dissidenti.
Durante le sue analisi il ricercatore ha anche scoperto che nelle chat non criptate (la modalità predefinita per le chat su Telegram) non è stato possibile ricevere l’adesivo malevolo su altri suoi account di prova, probabilmente perché i server di Telegram effettuavano un qualche tipo di parsing/filtraggio degli adesivi. Si tratta, però, solo di una supposizione non verificata in quanto il codice lato server di Telegram non è open source e quindi non accessibile.
Un altro aspetto interessante scoperto dal ricercatore di Shielder è che, a parte il client macOS, non è possibile configurare il client Telegram per impedire che le chat segrete vengano accettate automaticamente sul dispositivo in cui l’app è installata.
Questo può consentire di avviare automaticamente una chat segreta e inviare adesivi animati a chiunque. Dopo le segnalazioni, in merito alle vulnerabilità scoperte, Telegram ha introdotto l’impostazione “Filtra le nuove chat dai non contatti” che però non è ancora abilitata di default e quindi potrebbe sfuggire a molti utenti.
Aggiorniamo subito Telegram
Come anticipato, le vulnerabilità sono state corrette da Telegram con differenti aggiornamenti rilasciati a settembre e ottobre 2020:
- Telegram Android v7.1.0 (2090), rilasciato il 30 settembre 2020, e successivi;
- Telegram iOS v7.1, rilasciato il 30 settembre 2020, e successivi;
- Telegram macOS v7.1, rilasciato il 2 ottobre 2020, e successivi.
È dunque importante procedere il prima possibile ad aggiornare l’app installata sul proprio dispositivo.
Interpellati dalla nostra testata, inoltre, i ricercatori di Shielder hanno auspicato che i produttori e i vendor che utilizzano, come Telegram, la libreria rlottie o anche solo parte di tale codice, effettuino analisi di code review periodiche e limitino il più possibile la superficie di attacco.