A vulnerabilidade do WhatsApp que gera um estouro de buffer

Mesmo o WhatsApp, o famoso aplicativo de mensagens instantâneas, não é seguro devido a uma vulnerabilidade revelada há poucos dias que gera estouros de buffer e, portanto, poderia ter decifrado o conteúdo do chat. Na verdade, a equipe de pesquisa da Check Point Research (CPR) acaba de divulgar os detalhes de um possível ataque relacionado à vulnerabilidade CVE-2020-1910 descoberta em novembro passado . Deve-se destacar que o WhatsApp, por sua vez, obviamente lançou uma versão posterior do aplicativo que corrige o problema e dá segurança aos usuários.

A falha no sistema: uma imagem "particular"

Vamos tentar entender as causas que levaram ao destaque e divulgação da vulnerabilidade CVE-2020-1910. Os pesquisadores, de fato, começaram modificando algumas imagens aplicando técnicas de fuzzing AFL. American Fuzzy Lop (AFL) primeiro tenta executar um comando (como abrir uma imagem) e, em seguida, tenta reduzir a entrada ao mínimo possível para acionar a ação. Depois disso, ele introduz algum ruído na entrada (neste caso a imagem) para identificar possíveis travamentos do sistema (caso em que um bug é encontrado).

A vulnerabilidade CVE-2020-1910 foi analisada por pesquisadores da Check Point Research e corrigida pelo WhatsApp na versão 2.21.1.13.

Assim fizeram com o WhatsApp, principalmente interagindo com as bibliotecas utilizadas para a aplicação de filtros. Na verdade, a aplicação não serve apenas para as mensagens mais clássicas, mas também para a troca diária de grandes quantidades de imagens, vídeos e conteúdos multimédia.

Estouro de buffer para WhatsApp

Enviar uma imagem modificada para um usuário do WhatsApp, modificá-la, aplicando filtros e, em seguida, enviar a imagem modificada, na verdade cria uma possível perda de informações confidenciais . O problema está na função applyFilterIntoBuffer () da biblioteca libwhatsapp.so , que aceita qualquer tipo de imagem sem controles especiais.

Em particular, uma imagem é como uma matriz de dados em que cada grupo de 4 bytes representa um pixel de acordo com a codificação RGBA . Portanto, a função assume o uso desta codificação e rola a imagem (a matriz) em blocos de 4. Porém, se a imagem for feita "sob medida" para que cada pixel seja um único byte, a função tentará ler 4 vezes a quantidade de espaço no buffer de origem. O resultado é o acesso a partes não autorizadas da memória, causado por estouros de buffer na leitura da imagem de origem com pixels de 1 byte .

É claro que esse cenário de ataque envolve alta interação do usuário e o torna bastante improvável, mas não impossível. Certamente, o nível de dificuldade é simplesmente elementar, já que poucas ferramentas são necessárias para ter porções de memória do WhatsApp. Também é verdade que criar um dump de bate-papos do WhatsApp usando essa técnica não é muito viável devido à quantidade limitada de informações recuperáveis ​​e ao alto pedido de cooperação da vítima.

buffer overflow whatsapp
Aplicar um filtro a uma imagem no WhatsApp gera um estouro de buffer perigoso, com acesso a porções de dados potencialmente confidenciais.

Resposta do WhatsApp à vulnerabilidade

A empresa naturalmente tomou as medidas adequadas para proteger seus usuários. A versão 2.21.1.13 apresentou a correção da vulnerabilidade e no boletim de fevereiro WhatsApp garantiu aos usuários a segurança de seu aplicativo. Em particular, a qualidade do protocolo de criptografia end-to-end que garante a proteção do canal de comunicação entre o remetente e o destinatário.

Na verdade, embora permita o acesso a partes não autorizadas da memória, o problema é inerente a outras lógicas de aplicativo e não ao protocolo de criptografia de comunicação. No entanto, o WhatsApp recomenda que você sempre mantenha seu sistema operacional e aplicativo atualizados com os patches de segurança mais recentes. Nós da Close Up Engineering não podemos deixar de subscrever estas dicas que são a base para se manter protegido.

O artigo WhatsApp Vulnerability Generating Buffer Overflow vem de Tech CuE | Engenharia de Close-up .