Os desenvolvedores do projeto GrapheneOS, que desenvolve uma ramificação segura da base de código AOSP (Android Open Source Project), identificaram uma vulnerabilidade na pilha Bluetooth da plataforma Android 14, que pode 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 defesa adicional na chamada hardened_malloc, utilizando a extensão ARMv8.5 MTE (MemTag, Memory Tagging Extension), que permite vincular etiquetas a cada operação de alocação de memória e organizar a verificação da correção do uso de ponteiros para bloquear a exploração de vulnerabilidades causadas pelo acesso a blocos de memória já liberados, estouros de buffer, acessos antes da inicialização e uso fora do contexto atual.
O erro se manifesta a partir da atualização Android 14 QPR2 (Quarterly Platform Release), lançada no início de março. Na base de código principal da plataforma Android 14, o mecanismo MTE está disponível como uma opção e ainda não é aplicado por padrão, mas no GrapheneOS já foi utilizado para proteção adicional, o que possibilitou diagnosticar o erro após a atualização para Android 14 QPR2. O erro causava falhas ao usar fones de ouvido Bluetooth Samsung Galaxy Buds2 Pro com firmware que ativava a 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 GrapheneOS 2024030900 e afeta compilações para smartphones que não possuem a proteção de hardware adicional baseada na extensão MTE ativada (atualmente, o MTE está ativado apenas para dispositivos Pixel 8 e Pixel 8 Pro). A vulnerabilidade é reproduzível em smartphones Google Pixel 8 com firmware baseado no Android 14 QPR2. No Android para smartphones da série Pixel 8, o modo MTE pode ser ativado nas configurações para desenvolvedores (Settings / System / Developer options / Memory Tagging Extensions). A ativação do MTE resulta em um aumento de aproximadamente 3% no consumo de memória, mas não reduz o desempenho.
Fonte: opennet.ru
