Bug do Kernel Linux abre portas para ataques cibernéticos mais amplos

Views: 533
0 0
Read Time:3 Minute, 2 Second

A falha de divulgação de informações permite o bypass KASLR e a descoberta de vulnerabilidades adicionais e não reparadas em dispositivos ARM.

Uma vulnerabilidade de segurança de divulgação de informações foi descoberta no kernel Linux, que pode ser explorado para expor informações na memória de pilha de kernel de dispositivos vulneráveis.

Especificamente, o bug (CVE-2020-28588) existe na funcionalidade /proc/pid/syscall de dispositivos ARM de 32 bits executando o Linux, de acordo com a Cisco Talos, que descobriu a vulnerabilidade. Ele surge de uma conversão inadequada de valores numéricos ao ler o arquivo.

Com alguns comandos, os atacantes podem produzir 24 bytes de memória de pilha nãonitializada, que podem ser usadas para contornar a randomização do layout do espaço de endereço do kernel (KASLR). KASLR é uma técnica anti-exploração que coloca vários objetos aleatoriamente para evitar padrões previsíveis que são adivinhados pelos adversários.

Os ataques também seriam “impossíveis de detectar em uma rede remotamente”, explicou a empresa. E, “se utilizado corretamente, um invasor poderia aproveitar esse vazamento de informações para explorar com sucesso vulnerabilidades adicionais não corrigidas do Linux.”

Detalhes do bug do kernel

O Proc é um sistema especial de pseudo-arquivos em sistemas operacionais semelhantes ao Unix que é usado para acessar dinamicamente dados de processos mantidos no kernel. Apresenta informações sobre processos e outras informações do sistema em uma estrutura hierárquica semelhante a arquivos. Por exemplo, ele contém subddoriês /proc/[pid], cada um dos quais contém arquivos e subdiretórios expondo informações sobre processos específicos, legíveis usando o ID de processo correspondente. No caso do arquivo “syscall”, é um arquivo legítimo do sistema operacional Linux que contém registros de chamadas do sistema usadas pelo kernel.

Um invasor pode explorar a vulnerabilidade lendo /proc/<pid>/syscall. “Podemos ver a saída em qualquer sistema Linux cujo kernel foi configurado com CONFIG_HAVE_ARCH_TRACEHOOK”, de acordo com o relatório de bugs da Cisco,divulgado publicamente na terça-feira..

“Esse arquivo expõe o número de chamada do sistema e os registros de argumentos para a chamada do sistema que está sendo executada pelo processo, seguido pelos valores do ponteiro de pilha e dos registros do contador do programa”, explicou a empresa. “Os valores de todos os seis registros de argumentos estão expostos, embora a maioria das chamadas do sistema use menos registros.”

Os comandos shell que desencadeiam a vulnerabilidade são:

  • # echo 0 > /proc/sys/kernel/randomize_va_space (# necessário apenas para uma saída mais limpa)
  • $ enquanto é verdade; fazer gato /proc/self/syscall; feito | uniq (# espera por mudanças)
  • $ enquanto é verdade; fazer livre &>/dev/nulo; feito (# gatilhos alterações)

Atualizações de patches de segurança disponíveis

Os pesquisadores da Cisco Talos descobriram pela primeira vez o problema em um dispositivo Azure Sphere (versão 20.10), um dispositivo ARM de 32 bits que executa um kernel Linux corrigido. Está presente desde v5.1-rc4 do kernel.

“Os usuários são encorajados a atualizar esses produtos afetados o mais rápido possível: versões do Linux Kernel 5.10-rc4, 5.4.66 e 5.9.8″, de acordo com a assessoria. Talos testou e confirmou que essas versões do kernel Linux poderiam ser exploradas por essa vulnerabilidade.”

Bugs de kernel linux são raros, mas acontecem. Por exemplo, em outubro passado, o Google e a Intel alertaram para a falha de “BleedingTooth” dealta gravidade no BlueZ , a pilha de protocolos Bluetooth Linux que fornece suporte para camadas e protocolos Bluetooth principais para dispositivos de internet das coisas baseados em Linux (IoT). Ele pode ser explorado em um ataque de “zero-clique” e potencialmente permitir privilégios escalonados em dispositivos afetados.

FONTE: THREATPOST

POSTS RELACIONADOS