Bug do WhatsApp usa filtro de imagem para acessar dados

2 min de leitura
Imagem de: Bug do WhatsApp usa filtro de imagem para acessar dados
Imagem: Reprodução/Anton Pexels
Avatar do autor

Nesta quinta-feira (2), a firma de pesquisa de segurança digital Check Point Research (CPR) revelou detalhes sobre uma vulnerabilidade no uso de imagens com filtros no WhatsApp. A vulnerabilidade poderia travar o programar e até revelar informações sensíveis da memória.

O erro foi informado ao serviço de mensagens em novembro de 2020 e resolvido na versão 2.21.1.13 do aplicativo, disponível desde fevereiro deste ano. Segundo a CPR, nenhum usuário foi impactado pelo problema.

E como acontecia?

Segundo a empresa, a vulnerabilidade acontecia quando um usuário do WhatsApp recebia uma imagem maliciosa. Ao aplicar um filtro e enviar o arquivo modificado, o app poderia apresentar problemas e abrir brechas de segurança.

Descrito como um problema teórico que exige "passos complexos e interações extensivas entre usuários", o erro foi identificado durante uma pesquisa da firma sobre o uso de imagens no app. Os acadêmicos utilizaram um programa próprio para criar fotos defeituosas, modificando arquivos por meio de um processo chamado de "mutação".

Os pesquisadores identificaram que certas imagens não poderiam ser enviadas pelo app. Então, por meio do uso de filtros, que modificam pixels originais para alcançar efeitos variados, como borrões e brilho, tentou-se tornar os arquivos utilizáveis. Com isso, foi constatado que a troca de filtros em GIFs alterados causa um travamento no app.

Alerta de Alerta de "crash" do WhatsappFonte:  Reprodução/ Check Point Research 

Por meio de uma análise nos relatórios de erros por engenharia reversa, a empresa identificou o problema como memória corrompida. A vulnerabilidade foi nomeada como CVE-2020-1910 Heap-Based out-of-bounds read and write — "leitura fora dos limites da Heap" em tradução livre.

Explicando de forma resumida, a aplicação de filtros presume que tanto a imagem original quanto a final têm as mesmas dimensões e o mesmo formato RGBA. Isso significa que cada pixel é armazenado como 4 bytes. Porém, se alguém criar uma imagem maliciosa com apenas um byte por pixel, a função tentará ler e copiar 4 vezes a quantidade alocada ao buffer, o que leva a um acesso à memória fora dos limites.

De acordo com os pesquisadores, "dentro de circunstâncias únicas e complicadas", esse empecilho poderia levar à exposição de informações dos aplicativos. Porém, como a vulnerabilidade exige diversos passos para ser explorada, nenhum usuário acabou sendo vítima do problema.

Após a atualização do app, o software exige o formato RGBA nas duas instâncias e checa se a foto tem 4 bytes por pixel. "Nós trabalhamos regularmente com pesquisadores de segurança para melhorar as formas com que o WhatsApp protege as mensagens dos usuários. Agradecemos à Check Point pelo trabalho de investigação em todos os cantos do nosso app", concluiu o WhatsApp.