Telegram ha corretto una vulnerabilità zero-day nell'app desktop che poteva essere sfruttata per aggirare gli avvisi di sicurezza ed eseguire script Python. L'esistenza del problema era stata inizialmente smentita dalla software house. Il bug era dovuto ad un errore di battitura presente nell'elenco delle estensioni di file, per i quali deve essere mostrato l'avviso prima dell'esecuzione.
Fix lato server per Telegram Desktop
La vulnerabilità zero-day è stata segnalata su alcuni forum di hacking. In un video pubblicato su Vimeo si può vedere come viene aggirato l'avviso di sicurezza su Windows ed eseguito il codice remoto (la calcolatrice), cliccando sul contenuto multimediale condiviso nell'app.
Telegram aveva dichiarato di non poter confermare l'esistenza del bug, sottolineando che il video poteva essere falso. Successivamente ha comunicato di aver corretto il problema con un fix lato server, specificando che era necessaria l'interazione dell'utente e quindi non era una vulnerabilità zero-click.
Telegram Desktop mantiene un elenco di estensioni di file considerate pericolose. Quando l'utente clicca sul file ricevuto, l'app mostra un avviso di sicurezza per chiedere un consenso esplicito alla sua esecuzione. Se l'estensione non è presente, il file viene lanciato automaticamente dal software associato in Windows.
Nell'elenco ci sono diverse estensioni relative a Python, tra cui .pywz
. In realtà, l'estensione corretta è .pyzw
. A causa dell'errore di battitura, se l'utente cliccava sul file .pyzw
, lo script veniva eseguito automaticamente se era presente l'interprete Python sul computer, senza nessun warning.
Per nascondere il tipo di file è possibile usare un bot che invia un video mp4. Se l'ignara vittima clicca sul video viene eseguito lo script Python (che può ad esempio installare un malware). Il fix lato server aggiunge l'estensione .untrusted
ai file pyzw
. Nelle future versioni dell'app ci sarà il file data_document_resolver.cpp
aggiornato.