Vulnerabilidade no Android 14 explorável via Bluetooth LE

Os desenvolvedores do projeto GrapheneOS, que desenvolve um fork seguro da base de código AOSP (Android Open Source Project), identificaram uma vulnerabilidade na pilha Bluetooth da plataforma Android 14, que poderia potencialmente levar à execução remota de código. O problema é causado pelo acesso a uma área de memória já liberada (use-after-free) no código de processamento de áudio transmitido via Bluetooth LE.

A vulnerabilidade foi identificada devido à integração de proteção adicional na chamada hardened_malloc, utilizando a extensão ARMv8.5 MTE (MemTag, Memory Tagging Extension), que permite vincular tags a cada operação de alocação de memória e organizar uma verificação para o uso correto de ponteiros para bloquear a exploração de vulnerabilidades causadas pelo acesso a blocos de memória já liberados, buffer overflows, chamadas antes da inicialização e uso fora do contexto atual.

O erro tem aparecido desde a atualização do Android 14 QPR2 (Quarterly Platform Release), publicada no início de março. Na base de código principal da plataforma Android 14, o mecanismo MTE está disponível como opção e ainda não é utilizado por padrão, mas no GrapheneOS já foi habilitado para proteção adicional, o que possibilitou diagnosticar o erro após a atualização para Android 14QPR2. O bug causou um travamento ao usar fones de ouvido Bluetooth Samsung Galaxy Buds2 Pro com firmware que habilitava proteção baseada em MTE. A análise do incidente mostrou que o problema estava relacionado ao acesso à memória já liberada no manipulador Bluetooth LE, e não a uma falha devido à integração do MTE.

A vulnerabilidade foi corrigida na versão 2024030900 do GrapheneOS e afeta versões de smartphones que não incluem proteção de hardware adicional baseada na extensão MTE (o MTE está atualmente habilitado apenas para dispositivos Pixel 8 e Pixel 8 Pro). A vulnerabilidade é reproduzida em smartphones Google Pixel 8 rodando Android 14 QPR2. No Android para smartphones da série Pixel 8, o modo MTE pode ser ativado nas configurações do desenvolvedor (“Configurações / Sistema / Opções do desenvolvedor / Extensões de marcação de memória”). A ativação do MTE aumenta o consumo de memória em aproximadamente 3%, mas não reduz o desempenho.

Fonte: opennet.ru

Adicionar um comentário