Vulnerabilidade no Telegram Desktop permitia roubar qualquer arquivo e sequestrar contas com um clique
Falha de injeção via IPC no cliente desktop do Telegram, catalogada como CVE-2026-107181, permitia ler qualquer arquivo do disco da vítima e assumir sua conta. A correção saiu em setembro, mas passou despercebida.

O que a falha permitia
Um pesquisador que publica como BeakSec encontrou uma cadeia de falhas no Telegram Desktop que transformava um único clique em roubo total de conta. Catalogada como CVE-2026-107181, com severidade 8.1 (alta) na escala CVSS 3.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N), a falha afetava todas as versões até a 7.2.8, com exploração confirmada em Windows na versão 6.9.3.

O impacto declarado é direto: leitura remota de qualquer arquivo local, exfiltrado para um chat controlado pelo atacante, com sequestro de conta como consequência. Não era preciso instalar nada nem conceder permissão alguma: bastava clicar em um link e estar em um grupo com o atacante.
Dois processos, um socket e um separador sem escape
O Telegram Desktop registra o esquema tg:// no sistema operacional. Quando você clica num link desse tipo, o sistema abre um novo processo do Telegram passando a URL como argumento. Se o Telegram já estiver rodando, o sistema abre um segundo processo mesmo assim: cabe ao próprio app perceber a redundância.
Para isso, o processo novo tenta se conectar a um socket local onde a instância já aberta funciona como servidor. Encontrando conexão, ele serializa a URL como texto e a envia pelo socket, no formato OPEN:url;, usando ponto e vírgula para separar instruções. O problema é que esse caractere nunca é escapado: se a URL recebida já contiver um ;, a instância que recebe os dados corta a string no lugar errado e enxerga duas instruções onde deveria haver uma.
Um link como tg://x?a=1;OPEN:interpret:instructions.txt vira, do lado de quem recebe, duas ordens separadas: abrir tg://x?a=1 e, em seguida, processar interpret:instructions.txt como se fosse outro link legítimo. É injeção de comando pela falta de escape do separador, segundo a análise publicada no write-up original.
O esquema interpret: e a ausência de checagem
O esquema interpret: não é registrado no sistema operacional; existe só dentro do código do Telegram e foi criado para uso interno, numa rotina que publicava builds oficiais em canais do próprio Telegram. Um script lia um arquivo de instruções com este formato e mandava o Telegram enviar o arquivo indicado a um canal, com uma legenda:
from: 1234567890
channel: 1987654321
file: out/Release/deploy/6.9.3/tsetup.6.9.3.exe
caption: TDesktop at 12.06.26A função que processa isso, InterpretSendPath, lê qualquer arquivo do caminho indicado e o envia ao canal apontado, sem pedir confirmação. A checagem de quem está autorizado a disparar essa ação só roda se a linha from: estiver presente no arquivo, e simplesmente omiti-la pula a verificação inteira. Quando essa função só era acionável pela linha de comando, o risco era baixo: quem já tem acesso à máquina não precisa dessa rota para ler arquivos. O problema nasce quando a injeção de comando pelo socket torna interpret: alcançável a partir de um link clicado por outra pessoa.
De arquivo lido a conta sequestrada
Para explorar a falha, o atacante precisa colocar o arquivo de instruções no disco da vítima num caminho previsível. A rota mais simples é enviá-lo como anexo num grupo: por padrão, o Telegram Desktop baixa automaticamente arquivos de até 8 MiB recebidos em grupos (diferente de canais, onde o download automático vem desligado), salvando-os com o nome original numa pasta fixa.
Como interpret: aceita caminhos relativos resolvidos a partir da pasta de trabalho do Telegram, o atacante nem precisa saber o nome de usuário do Windows: um caminho como interpret:../../../Downloads/Telegram%20Desktop/instructions.txt já chega de forma determinística à pasta de downloads padrão.
A partir daí, a cadeia completa do PoC descrito pela BeakSec segue estes passos:
- O atacante cria um supergrupo e adiciona a vítima (a configuração padrão de privacidade do Telegram permite isso sem confirmação).
- Posta três arquivos de instrução no grupo, cada um apontando para um arquivo sensível da pasta
tdatado Telegram e para o canal do atacante como destino. - Envia um link https inofensivo no mesmo chat, cujo servidor redireciona (302) para um
tg://malicioso com três comandosinterpret:encadeados. - A vítima clica, o navegador segue o redirecionamento, o Telegram abre o link, a injeção dispara e os três arquivos sobem para o grupo do atacante, sem nenhuma janela de confirmação.
Os três arquivos roubados (tdata/key_datas, o arquivo de autorização MTProto e um índice de dados) bastam para recompor a pasta tdata da vítima em outra máquina e abrir a sessão dela, porque por padrão o Telegram Desktop não usa senha local: a chave que protege os dados é derivada de uma string vazia e de um salt que fica, sem criptografia nenhuma, dentro de key_datas.
Como o link chega até a vítima
Um detalhe técnico explica por que o ataque depende de um link https e não de um link tg:// direto dentro do próprio Telegram: cliques em tg:// feitos de dentro de um chat são tratados internamente pelo processo já aberto e nunca passam pelo socket, então não há nada para injetar. Já um link https comum abre no navegador padrão do sistema, porque o Telegram Desktop não tem navegador embutido — e é só nesse trajeto, via redirecionamento HTTP controlado pelo atacante, que o tg:// malicioso é entregue.
O que muda para quem usa Telegram Desktop no dia a dia
Grupos de equipe no Telegram são comuns em times brasileiros de produto e engenharia para compartilhar logs, prints de erro, trechos de .env, tokens de API e até chaves SSH em caráter emergencial. Essa falha mostra que a simples presença num grupo com uma pessoa mal-intencionada, sem nenhuma ação além de clicar num link qualquer, já é suficiente para expor qualquer arquivo da máquina, inclusive os que nunca passaram pelo próprio Telegram.
A correção oficial é direta:
- Atualize para a versão 7.2.9 ou posterior. É a única medida que fecha o problema de fato.
- Ative "perguntar onde salvar cada arquivo" nas configurações, desligando o download automático: sem isso, o arquivo de instruções nunca chega ao disco.
- Restrinja quem pode te adicionar a grupos só a contatos, já que o roubo depende de enviar os arquivos para um canal ou supergrupo controlado pelo atacante.
- Defina uma senha local de verdade: não impede o roubo dos arquivos, mas torna a sessão furtada inútil sem ela.
Correção silenciosa e cronologia da divulgação
A falha foi reportada à Zero Day Initiative (ZDI) em 25 de junho de 2026. O Telegram corrigiu o problema de forma independente em 16 de setembro de 2026, no commit db3405699f, publicado na versão 7.2.9 no dia seguinte. A ZDI encerrou o caso como já corrigido em 30 de setembro, liberando os direitos de divulgação ao pesquisador, que publicou a análise completa em 3 de outubro e teve o CVE atribuído em 7 de outubro de 2026.
O changelog da 7.2.9 menciona apenas "uma correção de renderização", e o commit que elimina a falha foi nomeado internamente como remoção de um helper legado de interpretação de caminhos, sem nenhum aviso de segurança público acompanhando o lançamento. Além de remover o esquema interpret:// e a função InterpretSendPath por completo, a correção passou a escapar o caractere separador no protocolo do socket com codificação hexadecimal prefixada por %, de forma que um ponto e vírgula nos dados não possa mais virar um limite de comando.
Fonte: Hacker News
Este artigo foi escrito por Redação iMasters. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.
Shopify transforma limite de 64KB em regra de design system no checkout
A Shopify impôs um teto de 64KB por extensão ao migrar o Checkout Blocks para Preact e componentes web do Polaris, cortando bundles em até 85%. A decisão virou regra de design system, mas também expôs lacunas de componentes e dores de versionamento para quem customiza checkout.












