Skip to content
industry insights

O botão de desligar do Signal tinha um ponto cego crítico

Um botão vermelho deveria encerrar uma conversa privada—e a pista mais reveladora estava escondida em uma nota de atualização que parecia rotineira. Este incidente expõe por que o último momento de uma chamada pode ser o mais frágil.

Cassidy Wolfe
O botão de desligar do Signal tinha um ponto cego crítico

O botão vermelho não foi a última palavra

Uma falha crítica na infraestrutura de chamadas do Signal, especificamente dentro de sua biblioteca RingRTC, poderia impedir que as chamadas fossem totalmente encerradas, deixando o áudio—e potencialmente o vídeo—sendo transmitido para o outro participante. Usuários que tocavam no botão de desligar podiam acreditar que a chamada havia terminado, apenas para terem seu microfone e câmera permanecendo ativos. Esta vulnerabilidade, rastreada como CVE-2026-113380 com uma pontuação CVSS 4.0 de 9.3 (Crítica), expôs um risco de vigilância silenciosa.

A exploração exigia que um atacante já estivesse na chamada; este não era um mecanismo para estranhos iniciarem espionagem silenciosa ou comprometerem contas do Signal de forma ampla. O escopo do bug era estritamente limitado ao encerramento da chamada, o que significa que as mensagens do Signal, a infraestrutura da conta e sua robusta criptografia de ponta a ponta permaneceram inalteradas. Não há evidências sugerindo que esta falha tenha sido explorada na natureza.

O problema subjacente derivava da fila da Máquina de Estados Finitos (FSM) do RingRTC, que carecia de limitação de taxa para eventos de pares recebidos e de uma via prioritária para sinais de encerramento. Um atacante poderia inundar essa fila, bloqueando o evento de desligar local e mantendo os fluxos de mídia ativos. O Signal resolveu o problema em 4 de setembro, implementando uma correção para garantir que as chamadas terminem completamente, seguida por implementações silenciosas nos clientes Android, iOS e Desktop antes que o CVE fosse atribuído publicamente em 20 de outubro.

Como uma fila lotada poderia impedir o desligamento

A biblioteca de chamadas de código aberto do Signal, RingRTC, alimentava suas chamadas de voz e vídeo no Android, iOS e desktop. A causa relatada desta falha crítica, rastreada como CVE-2026-113380, concentrava-se na fila de eventos da máquina de estados finitos limitada do RingRTC, que possuía uma capacidade de 256 entradas.

Este design criou um ponto cego crítico. Eventos gerados por pares poderiam facilmente inundar a fila, enquanto um desligamento local — o usuário pressionando o botão vermelho — não tinha prioridade. Em vez disso, o evento de encerramento esperava na fila atrás de eventos comuns de chamada, incapaz de forçar o encerramento imediato.

Se o processo de desligamento travasse, o fluxo do microfone, e potencialmente o fluxo da câmera, permaneciam ativos para o outro participante. Um par remoto poderia efetivamente impedir que uma chamada terminasse completamente, deixando áudio e vídeo fluindo. Esta vulnerabilidade obteve uma pontuação CVSS 4.0 de 9.3, sinalizando sua gravidade crítica. Embora alarmante, não há evidências de exploração na natureza, e a falha exigia um participante ativo para ser acionada.

Uma correção silenciosa, depois um aviso público

O Signal implementou uma correção no RingRTC em 4 de setembro, com uma entrada de changelog notavelmente discreta: “garantir que as chamadas terminem completamente em casos extremos”. Esta correção, que adicionou tratamento de desligamento independente e um tempo limite rígido, foi implementada nas compilações para Android, iOS e desktop nas semanas seguintes. Embora esta atualização silenciosa possa levantar questões sobre transparência, não é prova de má-fé; a correção rápida e não anunciada de vulnerabilidades críticas é uma prática padrão antes da divulgação pública.

O quadro completo surgiu em 20 de outubro, quando a CVE-2026-113380 tornou-se pública. Esta vulnerabilidade crítica (CVSS 9.3) confirmou a gravidade da falha de desligamento, validando a implementação silenciosa. O RingRTC 2.72.0 e as compilações posteriores do Signal contêm a remediação, impedindo que uma fila inundada bloqueie eventos de encerramento. Para mais detalhes técnicos sobre a biblioteca, consulte o repositório signalapp/ringrtc no GitHub.

Os usuários devem atualizar o Signal imediatamente em todas as plataformas — Android, iPhone e desktop — para garantir que suas chamadas realmente terminem ao tocar no botão vermelho. Embora não haja evidências de exploração em ambiente real e o problema tenha afetado apenas os participantes ativos da chamada, este incidente ressalta um desafio recorrente na comunicação em tempo real: criar uma função de desligamento confiável é mais difícil do que parece. FaceTime e Google Duo enfrentaram problemas semelhantes.

Gostando do artigo? Receba um assim na sua caixa de entrada toda manhã.

um e-mail por dia · cancele em dois cliques · sem rastreadores de terceiros

A parte mais difícil de uma chamada pode ser encerrá-la

Este episódio do RingRTC oferece um lembrete claro: o encerramento de chamadas é uma transição de estado surpreendentemente complexa e crítica para a segurança. Ele ecoa incidentes passados em que aplicativos de comunicação tropeçaram na linha de chegada, ou mesmo antes de a corrida começar. Em 2019, o FaceTime da Apple sofreu uma falha crítica que expôs o áudio do dispositivo de um destinatário antes que ele atendesse, forçando a Apple a desativar o Group FaceTime até que fosse resolvido.

No mesmo ano, o Project Zero do Google identificou vulnerabilidades de conexão de chamada no Signal para Android, Google Duo e Facebook Messenger. Aqueles bugs anteriores permitiam que os chamadores forçassem conexões. Esta falha do RingRTC, no entanto, representa um problema distinto: uma falha de encerramento (teardown failure) onde o botão de desligar, pretendido como um interruptor definitivo, foi derrotado por uma fila de eventos sobrecarregada.

A lição de engenharia é clara: a configuração e o desligamento são fases altamente vulneráveis nos protocolos de comunicação em tempo real. Pares remotos podem gerar eventos, muitas vezes de forma imprevisível, e esses eventos não devem ter permissão para impedir funções de segurança críticas. Os desenvolvedores devem tratar a função de desligar como um interruptor de interrupção protegido e de alta prioridade. Os usuários, por sua vez, devem cultivar o hábito de verificar os indicadores de microfone e câmera do seu dispositivo móvel após cada chamada, garantindo que a conversa tenha realmente terminado.

Perguntas Frequentes

Qual foi a vulnerabilidade da chamada do Signal?

Uma falha no RingRTC poderia permitir que alguém já em uma chamada inundasse sua fila de eventos e impedisse que o desligamento de um usuário encerrasse totalmente a chamada.

Um estranho poderia usar o bug da chamada do Signal para ouvir?

Não. A falha exigia que um invasor já fosse um participante de uma chamada ativa; ela não permitia que estranhos aleatórios espionassem.

As mensagens ou a criptografia do Signal foram afetadas?

Não. O problema relatado dizia respeito ao encerramento de chamadas e fluxos de mídia, não à criptografia de mensagens, contas ou bancos de dados do Signal.

Como os usuários do Signal podem se proteger?

Atualize o Signal em todos os dispositivos para a versão mais recente disponível. No celular, verifique os indicadores de privacidade de microfone e câmera após encerrar uma chamada.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Para builders

Esta página está trabalhando para a ferramenta de outra pessoa.

Agentes de IA leem. Compradores chegam nela. Ela responde em oito idiomas e via MCP. Sua ferramenta pode ter uma assim — no ar em 24 horas.