Encontrou um bug no kernel AF_PACKET e removeu o texto de rolagem no console

Faz pouco outro problema foi divulgado no subsistema AF_PACKET Kernel Linux, que permite que um usuário local sem privilégios execute código como root ou saia dos contêineres isolados se eles tiverem acesso root.

As informações divulgadas mencionam que a autoridade CAP_NET_RAW é necessária para criar o soquete AF_PACKET e explorar a vulnerabilidade.

No entanto, é notado que um usuário sem privilégios pode obter a permissão Especificadas em contêineres criados em sistemas com namespaces de usuário ativados.

Por exemplo, namespaces de usuário são incluídos por padrão no Ubuntu e Fedora, mas não habilitados no Debian e RHEL. Já no Android, o processo mediaerver tem o direito de criar soquetes AF_PACKET, por meio dos quais a vulnerabilidade pode ser explorada.

Sobre a vulnerabilidade em AF_PACKET

A vulnerabilidade está presente na função tpacket_rcv e é causado por um erro no cálculo da variável netoff.

Um invasor pode criar condições sob as quais irá escrever um valor menor que maclen na variável netoff, que vai causar um estouro calculando "macoff = netoff-maclen" e, em seguida, fazer isso poderia definir incorretamente o ponteiro para o buffer de dados de entrada.

Como resultado, um invasor pode iniciar a gravação de 1 a 10 bytes em uma área fora do buffer alocado. 

O erro de cálculo está presente no kernel desde julho de 2008, ou seja, em todos os kernels atuais, no entanto, a capacidade agora conhecida de usá-lo para gravar em uma área fora do buffer alocado (vulnerabilidade) foi presumivelmente introduzida em fevereiro de 2016 (do kernel versões 4.6-rc1 e posteriores), com o desenvolvimento do suporte virtio_net.

Quanto à solução do problema, ainda está disponível como patch. Além do fato de que, por outro lado, observa-se que está sendo desenvolvido um exploit que permite a obtenção de direitos de root no sistema.

Para aqueles que estão interessados ​​em saber se a correção já está disponível para sua distribuição, eles podem rastrear a aparência das atualizações de pacote nas diferentes distribuições nas seguintes páginas: Ubuntu, Fedora, SUSE, Debian, RHEL, arco.

O suporte à rolagem de texto para o console de texto foi removido

Por outro lado, falando do kernel Linux, também foi anunciado que o código de rolagem de texto foi removido da implementação do console de texto no kernel Linux (CONFIG_VGACON_SOFT_SCROLLBACK).

O código foi removido devido à presença de bugs, que não havia ninguém para corrigir devido à falta de um gerente para supervisionar o desenvolvimento do vgacon.

E é que alguns meses atrás, uma vulnerabilidade foi identificada e corrigida no vgacon (CVE-2020-14331) que poderia causar um estouro de buffer devido à falta de verificações de disponibilidade de memória adequadas no buffer de rolagem. A vulnerabilidade chamou a atenção dos desenvolvedores que organizou testes de difusão do código vgacon no syzbot.

Além disso outras verificações revelaram vários outros problemas semelhante no código vgacon, bem como problemas na implementação do software de deslocamento no controlador fbcon.

Infelizmente, o código do problema foi deixado sem supervisão por um longo tempo, presumivelmente devido ao fato de que os desenvolvedores mudaram para o uso de consoles gráficos e consoles de texto pararam de ser usados ​​(as pessoas continuam a usar os consoles vgacon e fbcon, mas eles não são a interface principal do kernel há décadas e espalharam as funções como a rolagem interna do controlador (Shift + PgUp / PgUp) provavelmente estão em baixa demanda).

A este respeito, Linus Torvalds decidiu não tentar manter o código não reclamado, mas simplesmente exclua-o.

Finalmente, é mencionado que se houver usuários que precisam desta funcionalidade, o código para suportar a rolagem no console será devolvido ao kernel assim que houver um mantenedor pronto ou que queira se encarregar de fazer sua manutenção por conta própria mãos, ou seja, a única que quer se dedicar a isso.


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.