Telegram Desktop 7.2.9 corrige fallo crítico de robo de cuenta

Imagen ilustrativa
Imagen ilustrativa

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 ello, robara la sesión activa de su cuenta de Telegram. El hallazgo, publicado por el investigador detrás del blog beaksec y catalogado como CVE-2026-107181, describe una vulnerabilidad en 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 pedía confirmación. Juntos alcanzaban para exfiltrar los archivos de sesión sin que la víctima notara nada raro.

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 aplicación y expone un esquema de enlaces tg:// para abrir comandos desde el sistema operativo, el canal exacto donde apareció 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.

El origen del fallo: comunicación entre procesos

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 cadena de explotación: inyección y comando sin confirmación

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, algo conceptualmente así: OPEN: https://ejemplo.com;. 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 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. No hay forma directa de verificar este comportamiento específico desde afuera del proceso: la inyección ocurre enteramente en memoria, dentro del socket local, y no deja un registro visible para el usuario final. Por eso el único control efectivo es la versión del cliente instalada, no una señal que se pueda observar durante el ataque.

Impacto real: robo de sesión sin código de verificació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 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.

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.

Actualiza ahora: cómo protegerte

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 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.

La combinación de un formato de comunicación entre procesos que no escapa el punto y coma y un comando interno, OPEN:, que acepta cualquier URL sin filtrar el esquema, incluido el esquema privado interpret:, es lo que permitió la cadena. La versión 7.2.9 incluye la corrección del commit db3405699f y cierra la cadena de inyección descrita en CVE-2026-107181. El reporte confirma el problema en Telegram Desktop para Windows, el cliente que usa el esquema tg:// y el socket IPC descrito. No cubre las apps celulares de Telegram, que no comparten ese mecanismo de instancia única por socket.

Para verificar si estás protegido, 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 controlas. La actualización es rápida y cierra una vía de ataque que, aunque requiere un clic, podría tener consecuencias graves para tu cuenta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.