Fase01
Chamadas de vídeoMensagens de vozCriptografia E2ESem censuraGrupos e canaisArquivos e mídiaBots e miniaplicativosDeFi integrado
Mensageiro
Ativa
Atualização beta privada do UmbrellaX
Durante nossa análise de segurança, encontramos problemas sérios em diversas bibliotecas de código aberto usadas para criptografia e comunicação segura. As correções locais estão prontas, mas ainda precisam de verificação completa e revisão independente. Não lançarei a versão beta até ter certeza de que esses riscos foram eliminados.
Aqui está a lista completa em linguagem simples. Abra uma seção para ver o que pode dar errado, um exemplo do dia a dia e a referência do patch.
Os segredos do grupo descriptografados podem deixar cópias extras na memória ou nos diagnósticos. Texto cifrado incorreto, mensagens de boas-vindas, propostas, caminhos de atualização, chaves locais ausentes, falhas de números aleatórios, horário incomum do sistema e limites de época podem fechar o aplicativo em vez de retornar um erro seguro. Algumas verificações de integridade da árvore e comprimento do caminho também não foram garantidas em todos os caminhos de lançamento.
Por exemplo, uma atualização de grupo quebrada recebida da rede deve ser rejeitada sem fechar o mensageiro, pular uma verificação de integridade ou expor bytes de mensagem em um relatório de falha.
Correção local preparada, verificação em andamento.
Detalhes técnicos: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
Registros MLS excluídos ou substituídos podem deixar cópias serializadas ou corpos de propostas ocultos na memória. Os instantâneos de grupo precisavam de substituição atômica com escopo, o acesso de depuração precisava de redação e um modo de persistência opcional armazenava texto codificado legível em vez de dados criptografados autenticados.
Por exemplo, a exclusão de um grupo também deve remover suas propostas pendentes ocultas, e uma opção de armazenamento não deve parecer criptografada quando apenas converte dados em texto legível.
Correção local preparada, verificação em andamento.
Detalhes técnicos: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Um back-end opcional não utilizado ainda puxou um pacote vulnerável para o inventário de dependência. O material privado do HPKE também precisava de redação mais forte e limpeza de memória.
Por exemplo, um back-end que não usamos não deve trazer um pacote vulnerável conhecido para um lançamento, e uma impressão de erro nunca deve conter uma chave privada HPKE.
Correção local preparada, verificação em andamento.
Detalhes técnicos: hpke-rs 0.6.1 | RUSTSEC-2026-0124
O gerador aleatório e os valores HPKE temporários precisavam de uma limpeza real. A falha na descriptografia autenticada também pode deixar um buffer de texto simples parcialmente modificado na memória.
Por exemplo, quando uma mensagem falha na autenticação, o buffer de texto simples parcialmente processado deve ser apagado imediatamente.
Correção local preparada, verificação em andamento.
Detalhes técnicos: hpke-rs-rust-crypto 0.6.1 | UMB-122
Estado aleatório, saída de derivação de chave, bytes de chave privada e buffers de criptografia com falha precisavam de limpeza. Comprimentos de nonce inválidos e solicitações de troca de chaves não suportadas podem atingir caminhos de finalização de processo.
Por exemplo, um nonce malformado deve retornar um erro normal em vez de fechar o mensageiro.
Correção local preparada, verificação em andamento.
Detalhes técnicos: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
A assinatura de nonces, compartilhamentos, bytes escalares e uma string secreta legível temporária precisava de limpeza nos caminhos de sucesso e erro. Um recurso não utilizado também puxou uma cadeia de dependência não mantida.
Por exemplo, os valores temporários usados para uma assinatura de grupo não devem permanecer legíveis na memória após a conclusão ou falha da assinatura.
Correção local preparada, verificação em andamento.
Detalhes técnicos: frost-core 3.0.0 | local audited patch
Chaves pseudoaleatórias descartadas e blocos intermediários de expansão de chave poderiam permanecer na memória após a produção de uma chave final.
Por exemplo, depois que uma chave de sessão estiver pronta, os ingredientes temporários usados para derivá-la deverão ser apagados.
Correção local preparada, verificação em andamento.
Detalhes técnicos: hkdf 0.12.4 | local compatibility backport
Blocos de chaves derivados, resumos de chaves superdimensionadas e resultados de hash interno na ramificação HMAC compatível podem permanecer na memória comum.
Por exemplo, verificar se uma mensagem é autêntica não deve deixar para trás bytes reutilizáveis derivados de chave.
Correção local preparada, verificação em andamento.
Detalhes técnicos: hmac 0.12.1 | local compatibility backport
A opção de limpeza disponível estava desativada por padrão e cobria apenas parte do estado temporário e armazenado derivado da chave.
Por exemplo, a conclusão de uma verificação de autenticação deve limpar blocos derivados de chave temporários e armazenados.
Correção local preparada, verificação em andamento.
Detalhes técnicos: hmac 0.13.0 | local audited patch
O estado de funcionamento e os contadores de bloco SHA-256 e SHA-512 precisavam de limpeza no tempo de queda na ramificação compatível.
Por exemplo, fazer hash de um segredo durante a derivação da chave não deve deixar o estado de funcionamento do mecanismo de hash na memória reutilizável.
Correção local preparada, verificação em andamento.
Detalhes técnicos: sha2 0.10.9 | local compatibility backport
Uma entrada danificada pode solicitar uma alocação enorme, ler além do campo declarado, fazer um loop sem progresso ou disparar overflow e caminhos de pânico. O diagnóstico de vetor secreto e a entrada com falha parcial também precisavam de limpeza.
Por exemplo, uma pequena mensagem que afirma falsamente conter um campo enorme não deve consumir muita memória ou prender o aplicativo em um loop infinito.
Correção local preparada, verificação em andamento.
Detalhes técnicos: tls_codec 0.4.2 | local audited patch
A chave de integridade da mensagem STUN pode ser impressa em diagnósticos e não foi explicitamente apagada com o texto da credencial temporária.
Por exemplo, um log de erros de conexão não deve revelar o segredo usado para autenticar uma solicitação de retransmissão.
Correção local preparada, verificação em andamento.
Detalhes técnicos: stun 0.17.1 | audit patch 6e5cbb42
Uma senha TURN de longa duração era armazenada como uma string comum e precisava ser apagada explicitamente quando o cliente era destruído.
Por exemplo, encerrar uma chamada não deve deixar sua senha de retransmissão na memória do antigo objeto cliente.
Correção local preparada, verificação em andamento.
Detalhes técnicos: turn 0.17.1 | audit patch 6e5cbb42
Os nomes de usuário e senhas do TURN foram armazenados como strings comuns e impressos automaticamente na saída de depuração do ICE.
Por exemplo, um relatório de conexão de chamada pode indicar que existem credenciais, mas não deve imprimir o nome de usuário e a senha.
Correção local preparada, verificação em andamento.
Detalhes técnicos: webrtc-ice 0.17.1 | audit patch 6e5cbb42
Entrada de derivação de chave de mídia, chaves derivadas, sais SRTP/SRTCP armazenados e estado de funcionamento da cifra precisavam de limpeza confiável.
Por exemplo, após o término de uma chamada criptografada, suas chaves de mídia temporárias e sais não devem permanecer em buffers comuns.
Correção local preparada, verificação em andamento.
Detalhes técnicos: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Para notas da beta e atualizações de acesso, siga minha conta pessoal no X.