Eles encontraram vulnerabilidades no subsistema eBPF que permitem a execução de código no nível do kernel 

Faz pouco compartilhamos aqui no blog as novidades sobre o interesse que a Microsoft tem demonstrado sobre o subsistema eGMP, Uma vez que construiu um subsistema para Windows que usa o método de análise estática de interpretação abstrata, que, em comparação com o verificador eBPF para Linux, demonstra uma taxa de falsos positivos mais baixa, suporta análise de loop e fornece boa escalabilidade.

O método leva em consideração muitos padrões de desempenho típicos obtidos da análise de programas eBPF existentes. Este subsistema eBPF foi incluído no kernel Linux desde a versão 3.18 e Ele permite que você processe pacotes de rede de entrada / saída, encaminhe pacotes, controle a largura de banda, intercepte chamadas do sistema, controle o acesso e execute o monitoramento.

E isso é falar sobre isso, foi recentemente revelado que duas novas vulnerabilidades foram identificadas no subsistema eBPF, que permite que você execute drivers dentro do kernel do Linux em uma máquina virtual JIT especial.

Ambas as vulnerabilidades fornecem a oportunidade de executar código com direitos de kernel, fora da máquina virtual eBPF isolada.

A informação sobre os problemas foi publicado pela equipe Zero Day Initiative, que realiza a competição Pwn2Own, durante a qual este ano foram demonstrados três ataques ao Ubuntu Linux, nos quais foram utilizadas vulnerabilidades até então desconhecidas (se as vulnerabilidades no eBPF estiverem relacionadas a esses ataques, não é relatado).

Foi descoberto que o eBPF ALU32 limita o rastreamento para operações bit a bit (AND, OR e XOR) Os limites de 32 bits não foram atualizados.

Manfred Paul (@_manfp) da equipe RedRocket CTF (@redrocket_ctf) trabalhando com eleA iniciativa Zero Day da Trend Micro descobriu que esta vulnerabilidade ele pode ser convertido em leituras e gravações fora dos limites no kernel. Isto tem sido relatado como ZDI-CAN-13590 e designado CVE-2021-3490.

  • CVE-2021-3490: A vulnerabilidade se deve à falta de verificação fora dos limites para valores de 32 bits ao executar operações bit a bit AND, OR e XOR no eBPF ALU32. Um invasor pode tirar vantagem desse bug para ler e gravar dados fora dos limites do buffer alocado. O problema com as operações XOR existe desde o kernel 5.7-rc1, e AND e OR desde 5.10-rc1.
  • CVE-2021-3489: a vulnerabilidade é causada por um bug na implementação do buffer de anel e está relacionada ao fato de que a função bpf_ringbuf_reserve não verificou a possibilidade de que o tamanho da área de memória alocada seja menor que o tamanho real do buffer de ringbuf. O problema é evidente desde o lançamento do 5.8-rc1.

Além disso, também podemos observar outra vulnerabilidade no kernel do Linux: CVE-2021-32606, que permite que um usuário local eleve seus privilégios ao nível raiz. O problema se manifesta desde o kernel Linux 5.11 e é causado por uma condição de corrida na implementação do protocolo CAN ISOTP, que possibilita a alteração dos parâmetros de socket binding devido à falta de configuração dos próprios bloqueios em isotp_setsockopt () quando a bandeira é processada CAN_ISOTP_SF_BROADCAST.

Uma vez o soquete, ISOTP continua a se ligar ao soquete do receptor, que pode continuar a usar as estruturas associadas ao soquete depois que a memória associada for liberada (use-after-free devido à chamada de estrutura isotp_sock já liberado quando eu ligosotp_rcv(). Ao manipular os dados, você pode substituir o ponteiro para a função sk_error_report () e execute seu código no nível do kernel.

O status das correções para vulnerabilidades em distribuições pode ser rastreado nestas páginas: Ubuntu, Debian, RHEL, Fedora, SUSE, arco).

As correções também estão disponíveis como patches (CVE-2021-3489 e CVE-2021-3490). A exploração do problema depende da disponibilidade da chamada ao sistema eBPF para o usuário. Por exemplo, nas configurações padrão do RHEL, explorar a vulnerabilidade requer que o usuário tenha privilégios CAP_SYS_ADMIN.

Finalmente se você quiser saber mais sobre isso, você pode verificar 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: AB Internet Networks 2008 SL
  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.