BleedingTooth: uma vulnerabilidade no BlueZ que permite a execução remota de código

Os engenheiros do Google lançaram por meio de uma postagem que eles identificaram uma vulnerabilidade séria (CVE-2020-12351) na pilha Bluetooth "BlueZ" que é usado em distribuições Linux e Chrome OS.

A vulnerabilidade, codinome BleedingTooth, permite que um invasor não autorizado execute seu código no nível do kernel Linux sem intervenção do usuário, enviando pacotes Bluetooth especialmente criados.

O problema pode ser explorado por um atacante que está dentro do alcance do Bluetooth e, além do fato de não ser necessário um emparelhamento prévio entre o dispositivo atacante e a vítima, a única condição é que o Bluetooth deve estar ativo no computador.

Sobre vulnerabilidade

Para um ataque, basta saber o endereço MAC do dispositivo da vítima, que pode ser determinado rastreando ou, em alguns dispositivos, calculado com base no endereço MAC Wi-Fi.

Vulnerabilidade está presente em componentes que processam pacotes L2CAP (Logical Link Control and Adaptation Protocol) no nível do kernel Linux.

Ao enviar um pacote L2CAP especialmente criado com dados adicionais para o canal A2MP, um invasor pode sobrescrever uma área sem memória mapeado, que pode ser potencialmente usado para criar um exploit para executar código arbitrário no nível do kernel.

Ao especificar um CID diferente de L2CAP_CID_SIGNALING, L2CAP_CID_CONN_LESS e L2CAP_CID_LE_SIGNALING no pacote, o manipulador 2cap_data_channel () é chamado em BlueZ, que para canais em modos L2CAP_MODE_ERTM coincidem, o filtro skip_CAPterfilterfilter é chamado e o filtro L2_CAPterfilter é chamado. (). Para pacotes com CID L2CAP_CID_A2MP, não há canal, então para criá-lo é chamada a função a2mp_channel_create (), que usa o tipo "struct amp_mgr" ao processar o campo de dados chan->, mas o tipo para este campo deve ser "Meia Struct".

A vulnerabilidade surgiu desde o kernel Linux 4.8 E apesar das afirmações da Intel, isso não foi abordado na versão 5.9 lançada recentemente.

Matthew Garrett, um conhecido desenvolvedor de kernel Linux que recebeu um prêmio da Free Software Foundation por sua contribuição para o desenvolvimento de software livre, afirma que as informações no relatório da Intel estão incorretas e que o kernel 5.9 não inclui as correções adequadas. para corrigir a vulnerabilidade, os patches foram incluídos na ramificação linux-next, não na ramificação 5.9).

Ele também expressou indignação com a política da Intel de revelar vulnerabilidades: os desenvolvedores de distribuição Linux não foram notificados do problema antes do lançamento do relatório e não tiveram a oportunidade de pré-exportar patches para seus pacotes de kernel.

Além disso, mais duas vulnerabilidades foram identificadas no BlueZ:

  • CVE-2020-24490 - Estouro de buffer de código de análise HCI (hci_event.c). Um invasor remoto pode atingir estouros de buffer e execução de código no nível do kernel do Linux enviando anúncios de transmissão. O ataque só é possível em dispositivos que suportam Bluetooth 5, quando o modo de varredura está ativo neles.
  • CVE-2020-12352: Perda de informações da pilha durante o processamento do pacote A2MP. O problema pode ser explorado por um invasor que conhece o endereço MAC de um dispositivo para recuperar dados da pilha do kernel, que podem conter informações confidenciais, como chaves de criptografia. A pilha também pode conter ponteiros, portanto, o problema pode ser usado para determinar o layout da memória e ignorar a proteção KASLR (randomização de endereço) em exploits para outras vulnerabilidades.

Finalmente, a publicação de um protótipo de exploit foi anunciada para verificar o problema.

Em distribuições, o problema permanece sem correção (Debian, RHEL (vulnerabilidade confirmada nas versões RHEL de 7.4), SUSE, Ubuntu, Fedora).

A plataforma Android não é afetada pelo problema, pois usa sua própria pilha Bluetooth, baseada no código do projeto BlueDroid da Broadcom.

Se você quiser saber mais sobre esta vulnerabilidade, você pode consultar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Aron dito

    A luta contra a vulnerabilidade nunca vai acabar, esse é um tema que sempre estará presente. Todos os dias, os hackers procuram mais maneiras de fazer ataques cibernéticos. Nada é perfeito, sempre haverá um percentual de vulnerabilidade. É por isso que temos que continuar trabalhando todos os dias na luta contra esses ataques.