Un clic en un enlace dentro de un chat de grupo bastaba para que un atacante leyera cualquier archivo del equipo de la víctima y, con él, robara la sesión activa de su cuenta de Telegram. El hallazgo, publicado hoy 10 de octubre por el investigador detrás del blog beaksec y catalogado como CVE-2026-107181, describe la vulnerabilidad de Telegram Desktop que convertía un enlace corriente en una llave para tomar el control de una cuenta. La falla combinaba dos errores que por separado no servían de mucho: una inyección en el canal interno que usa el cliente para hablar consigo mismo y un comando heredado de las herramientas de publicación de Telegram que nunca pidió confirmación. Juntos alcanzaban para exfiltrar los archivos de sesión sin que la víctima notara nada raro. Telegram ya corrigió el problema en la versión 7.2.9, por lo que la recomendación inmediata es actualizar el cliente de escritorio.
¿Qué es Telegram Desktop y por qué es importante?
Telegram Desktop es el cliente oficial de escritorio de Telegram para Windows, macOS y Linux, desarrollado por Telegram FZ-LLC. Sincroniza chats y sesión con la nube de la app y expone un esquema de enlaces tg:// para abrir comandos desde el sistema operativo, el canal exacto donde apareció la vulnerabilidad de Telegram Desktop. Millones de usuarios en México y Latinoamérica utilizan esta aplicación a diario para comunicarse, compartir archivos y gestionar sus cuentas, por lo que un fallo de este tipo representa un riesgo significativo.
Detalles técnicos de la vulnerabilidad
El reporte técnico, firmado por el investigador que publica bajo el seudónimo beaksec, documenta el fallo hasta la versión 7.2.8 de Telegram Desktop y lo confirma en la build 6.9.3 para Windows. La CVE-2026-107181 recibió una puntuación de 8.1 sobre 10 en CVSS 3.1, con el vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N: ataque remoto, complejidad baja, sin privilegios previos, pero con interacción del usuario obligatoria, el clic sobre el enlace.
Telegram corrigió el problema en la versión 7.2.9, identificada en el repositorio del proyecto con el commit db3405699f. El reporte siguió el proceso habitual de divulgación responsable: el investigador avisó antes de publicar los detalles técnicos, y la entrada del blog salió una vez que la corrección ya estaba disponible para todos los usuarios.
¿Cómo funcionaba el ataque?
El punto de partida del problema no está en el cifrado ni en los servidores de Telegram, sino en cómo dos procesos del mismo programa se hablan entre sí en la computadora de la víctima. Ahí arranca la cadena. Cuando un usuario hace clic en un enlace tg://, el sistema operativo no sabe si Telegram Desktop ya está abierto: lanza un proceso nuevo de todos modos. Ese proceso nuevo intenta conectarse a un socket local; si lo logra, significa que ya hay una instancia activa, así que le entrega el enlace y se cierra.
Esa comunicación entre procesos (IPC, por sus siglas en inglés) usa un formato propio y sencillo: una palabra clave, su argumento y un punto y coma que cierra la instrucción. Dentro de ese mismo canal interno vive interpret:, un esquema que el sistema operativo no reconoce como protocolo (no está registrado en ningún manejador externo) pero que el propio código de Telegram sabe interpretar al vuelo, igual que cualquier otro enlace de arranque.
interpret: nació como herramienta interna: cuando el equipo publicaba una versión nueva, un script armaba un archivo de texto con el canal de destino y el archivo a enviar, y lanzaba Telegram Desktop señalando ese archivo. El cliente leía la instrucción y subía el build con su changelog al canal oficial, sin que nadie tuviera que arrastrar el archivo a mano. El archivo de instrucciones admite un campo from: que compara el id de la cuenta logueada contra el id esperado, pensado para que un operador no publique un release desde la cuenta equivocada. Pero esa comparación solo corre si la línea from: está presente: omitirla la salta por completo. El destino, controlado por el campo channel:, solo exige que sea un canal o un supergrupo real.
La inyección del punto y coma
El formato de serialización que usa el IPC de Telegram Desktop no escapa el punto y coma cuando ese carácter aparece dentro del propio argumento. Un enlace normal se convierte en una sola instrucción. Pero si la URL que recibe el proceso nuevo ya trae un punto y coma en alguno de sus parámetros de consulta, ese proceso igual la trata como una sola cadena (para él, el punto y coma es apenas un carácter más dentro de la URL) y la reenvía tal cual por el socket. La instancia activa, en cambio, no distingue ese matiz: corta la cadena recibida en cada punto y coma y trata cada fragmento como una orden independiente. Una URL con un punto y coma de más se convierte, del otro lado, en dos instrucciones. Esa es la inyección, el primer defecto de la cadena.
El comando OPEN: sin filtro
El segundo defecto es a dónde puede apuntar la instrucción inyectada: el protocolo interno reconoce cuatro comandos en total, y tres son inofensivos (entre ellos CMD:, que solo acepta show y quit, así que lo peor que logra es cerrar la ventana). El cuarto es OPEN:, y ahí está el detalle real: acepta cualquier URL, sin filtrar el esquema. Por ahí es alcanzable interpret:, el esquema que lee un archivo de instrucciones del disco y envía el archivo que ese archivo nombra, sin verificar quién lo pidió ni mostrar un diálogo de confirmación. La falla combina un punto y coma sin escapar con un comando heredado de las herramientas de publicación.
Impacto real: robo de sesión
Leído en simple, el vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N dice: ataque por red, sin complejidad extra, sin privilegios previos, con un clic de la víctima, confidencialidad e integridad altas y cero impacto en disponibilidad. El impacto real de la vulnerabilidad de Telegram Desktop no está en que un atacante pueda leer un archivo cualquiera, sino en cuál: los archivos de sesión que Telegram Desktop guarda localmente permiten reconstruir una sesión activa sin pasar de nuevo por la verificación del teléfono. Quien logra que esos archivos lleguen a su propio chat puede operar la cuenta de la víctima como si fuera el dueño, sin pedirle ni una contraseña ni un código.
La cadena requiere interacción humana (el clic sobre el enlace), por eso el vector CVSS marca UI:R en lugar de un ataque silencioso de cero clics. Pero el contexto típico de Telegram, grupos numerosos donde cualquier miembro puede tirar un enlace, hace que ese único clic sea fácil de conseguir: no hace falta ingeniería social sofisticada, alcanza con que el enlace se vea como cualquier otro enlace de Telegram.
¿Afecta a macOS y Linux?
El reporte confirma el comportamiento en la build 6.9.3 de Windows. El código de IPC que lo hace posible (el socket de instancia única, el formato de serialización y el esquema interpret:) vive en la base de código compartida de tdesktop, así que no hay motivo técnico para asumir que macOS y Linux quedaban fuera del alcance; el investigador simplemente documentó y confirmó el caso en un sistema operativo. Una limitación real de la corrección: tapar el escape del punto y coma y agregar una confirmación a interpret: arregla esta cadena puntual, pero no audita el resto del protocolo interno. Si aparece otro comando con el mismo patrón, sin escapar separadores o sin pedir confirmación, el mismo tipo de cadena vuelve a ser posible.
Recomendación: actualiza ahora
Telegram ya corrigió el fallo en la versión 7.2.9, así que la recomendación inmediata es simple: actualizar el cliente de escritorio. En Windows, macOS o Linux, abre Configuración → Telegram Desktop y fíjate en la versión que aparece al pie de esa pantalla: debe marcar 7.2.9 o superior. Si todavía marca 7.2.8 o una anterior, ese cliente sigue expuesto a la vulnerabilidad de Telegram Desktop hasta que lo actualices.
El reporte no menciona explotación activa antes de la publicación, algo esperable en una divulgación responsable: la corrección sale primero, los detalles técnicos después. Tampoco hay, por ahora, un aviso oficial separado de Telegram más allá del cambio en el changelog de la página de releases del proyecto. Queda pendiente, eso sí, una auditoría más amplia del protocolo interno de Telegram Desktop: si interpret: escondía este problema durante años (nació como herramienta de un script de publicación, no como superficie expuesta a enlaces externos), no está descartado que otros comandos del mismo canal merezcan una revisión similar.
Probalo vos: abre Telegram Desktop, entra a Configuración y confirma que la versión marque 7.2.9 o más antes de volver a abrir enlaces de chats que no controlás.





