Telegram solucionó una vulnerabilidad de día cero en su aplicación de escritorio de Windows que podría usarse para eludir las advertencias de seguridad e iniciar automáticamente scripts de Python.
En los últimos días han estado circulando rumores en X y en foros de hacking sobre una supuesta vulnerabilidad de ejecución remota de código en Telegram para Windows.
Si bien algunas de estas publicaciones afirmaron que se trataba de una falla de Zero-Click, los videos que demuestran la supuesta omisión de advertencia de seguridad y la vulnerabilidad RCE muestran claramente a alguien haciendo clic en un medio compartido para iniciar la calculadora de Windows.
Telegram rápidamente cuestionó estas afirmaciones, diciendo que «no pueden confirmar que exista tal vulnerabilidad y que el video probablemente sea un engaño».
Sin embargo, al día siguiente, se compartió una prueba de concepto de exploit en el foro XSS explicando que un error tipográfico en el código fuente de Telegram para Windows podría explotarse para enviar archivos Python .pyzw que omiten las advertencias de seguridad al hacer clic.
Esto provoca que Python ejecuta automáticamente el archivo sin una advertencia de Telegram como lo hace con otros ejecutables, y se suponía que sucedería con este archivo si no fuera por un error tipográfico. Para empeorar las cosas, la prueba de concepto disfrazó el archivo Python como un video compartido, junto con una miniatura, que podría usarse para engañar a los usuarios para que hicieran clic en el video falso para verlo.
Telegram negó con razón que el error fuera una falla de Zer-Click, pero confirmó que solucionaron el «problema» en Telegram para Windows para evitar que los scripts de Python se inicien automáticamente al hacer clic.
Los rumores sobre la existencia de vulnerabilidades de Zero-Click en Telegram Desktop son inexactos. Algunos expertos recomendaron deshabilitar las descargas automáticas en Telegram; no hubo problemas que pudieran haber sido provocados por las descargas automáticas.
Sin embargo, en Telegram Desktop, había un problema que requería que el usuario hiciera clic en un archivo malicioso mientras tenía el intérprete de Python instalado en su computadora. Al contrario de informes anteriores, esta no fue una vulnerabilidad sin hacer clic y podría afectar solo a una pequeña fracción de nuestra base de usuarios: menos del 0,01% de nuestros usuarios tienen Python instalado y usan la versión relevante de Telegram para escritorio.
Se ha aplicado una solución del lado del servidor para garantizar que incluso este problema ya no se reproduzca, por lo que todas las versiones de Telegram Desktop (incluidas las anteriores) ya no tienen este problema.
La vulnerabilidad
El cliente Telegram Desktop realiza un seguimiento de una lista de extensiones de archivos asociadas con archivos riesgosos, como archivos ejecutables.
Cuando alguien envía uno de estos tipos de archivos en Telegram y un usuario hace clic en el archivo, en lugar de iniciar automáticamente el programa asociado en Windows, Telegram primero muestra una advertencia de seguridad.
Sin embargo, los tipos de archivos desconocidos compartidos en Telegram se iniciarán automáticamente en Windows, lo que permitirá que el sistema operativo decida qué programa usar.
Cuando se instala Python para Windows, asocia la extensión de archivo .pyzw con el ejecutable de Python, lo que hará que Python ejecute los scripts automáticamente cuando se haga doble clic en el archivo. La extensión .pyzw es para zipapps de Python, que son programas Python autónomos contenidos en archivos ZIP.
Los desarrolladores de Telegram eran conscientes de que este tipo de ejecutables debían considerarse riesgosos y los agregaron a la lista de extensiones de archivos ejecutables. Desafortunadamente, cuando agregaron la extensión, cometieron un error tipográfico al ingresar la extensión como ‘pywz’ en lugar de la ortografía correcta de ‘pyzw’.
Por lo tanto, cuando esos archivos se enviaron a través de Telegram y se hizo clic en ellos, Python los inició automáticamente si estaba instalado en Windows. Esto permite efectivamente a los atacantes eludir las advertencias de seguridad y ejecutar código de forma remota en el dispositivo Windows de un objetivo si pueden engañarlos para que abran el archivo.
Para enmascarar el archivo, los investigadores idearon el uso de un bot de Telegram para enviar el archivo con un tipo MIME de ‘video/mp4’, lo que provocó que Telegram mostrara el archivo como un video compartido. Si un usuario hace clic en el vídeo para verlo, el script se iniciará automáticamente a través de Python para Windows.
BleepingComputer probó este exploit con el investigador de ciberseguridad AabyssZG, quien también compartió demostraciones en X. Este archivo simplemente contiene código Python para abrir un símbolo del sistema. Cuando hace clic en el video para verlo, Python ejecuta automáticamente el script.
Telegram utilizó una solución del lado del servidor que agrega la extensión .untrusted a los archivos pyzw, que, al hacer clic, hará que Windows le pregunte qué programa desea usar para abrirlos en lugar de iniciarlos automáticamente en Python. Las versiones futuras de la aplicación Telegram Desktop deberían incluir el mensaje de advertencia de seguridad en lugar de agregar la extensión «.untrusted», agregando un poco más de seguridad al proceso.
Fuente y redacción: segu-info.com.ar