Eles detectaram uma vulnerabilidade na pilha IPv6 do Linux e permite a execução de código arbitrário

vulnerabilidade

Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas

Faz pouco informações sobre uma falha foram divulgadas que foi detectado na pilha IPv6 do kernel Linux listado em CVE-2023-6200 e avaliada com uma pontuação de 7.5 na escala CVSS, esta vulnerabilidade surgiu no ramo 6.6 do Kernel Linux e representa um problema bastante sério, pois permite que invasores executem código remotamente.

E é mencionado que este bug foi detectado na pilha de rede do kernel Linux que, sob certas condições, pode permitir que um invasor na rede local execute código malicioso. Esta vulnerabilidade é ativada através do envio de um pacote ICMPv6 especialmente criado com uma mensagem RA (Router Advertisement), que visa anunciar informações sobre o roteador.

Uma condição de corrida foi encontrada no kernel do Linux. Sob certas condições, um invasor não autenticado em uma rede adjacente poderia enviar um pacote de publicidade de roteador ICMPv6, causando a execução arbitrária de código. Para desencadear esse problema, o invasor deve estar na rede local, IPV6, e o parâmetro net.ipv6.conf deve estar habilitado...

É mencionado que A origem do problema está em uma condição de corrida que ocorre quando o coletor de lixo processa registros fib6_info obsoletos, que o que pode resultar no acesso a uma área de memória liberada (conhecido como uso após o lançamento). Embora o protocolo da Internet seja essencial para a transferência de dados entre nós, existem outras tarefas críticas que devem ser concluídas para garantir a sua operação confiável. Essas tarefas incluem relatórios de erros, descoberta de roteadores, diagnósticos e outras funções necessárias para uma operação IP eficaz em ambientes IPv6. O Internet Control Message Protocol (ICMPv6) desempenha um papel crucial no gerenciamento dessas funções no IPv6.

ICMPv6 fornece uma estrutura para descoberta de ouvinte multicast (MLD) e descoberta de vizinho. Essas funções são responsáveis ​​por comunicar informações de participação em grupos multicast (equivalente ao protocolo IGMP em IPv4) e resolver endereços (tarefa executada pelo ARP em IPv4).

Ao receber um pacote ICMPv6 com uma mensagem de anúncio de roteador (RA), a pilha de rede invoca a função ndisc_router_discovery(). Se a mensagem RA contiver informações sobre o tempo de vida da rota, esta função chama fib6_set_expires() e preenche a estrutura gc_link. Posteriormente, para limpar entradas obsoletas, é utilizada a função fib6_clean_expires(), que separa a entrada em gc_link e libera a memória utilizada pela estrutura fib6_info. No entanto, há um momento em que a memória da estrutura fib6_info já foi lançado, mas o link para ele ainda está presente na estrutura gc_link.

É importante ressaltar que esta vulnerabilidade só pode ser explorada a partir da rede local e afeta sistemas com suporte IPv6 habilitado e o parâmetro sysctl “net.ipv6.conf”. .accept_ra» ativo. Embora em sistemas como RHEL e Ubuntu este parâmetro esteja desabilitado por padrão para interfaces de rede externas, ele está habilitado para a interface de loopback, permitindo potencialmente um ataque do mesmo sistema.

Finalmente, vale a pena mencionar que a vulnerabilidade foi corrigida nas versões 6.6.9 e 6.7 do Kernel Linux e entre as distribuições afetadas que incluem pacotes com kernel 6.6, podemos destacar Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva e Manjaro.

Além disso, é mencionado que em outras distribuições, a mudança com erros pode ser um backport com pacotes com ramificações de kernel mais antigas. Por exemplo, no Debian o pacote com kernel 6.5.13 é vulnerável, enquanto a mudança problemática apareceu no branch 6.6). Como solução de segurança, você pode desabilitar o IPv6 ou definir os parâmetros “net.ipv6.conf.*.accept_ra” como 0.

Para os interessado em poder consultar o estado da reparação de vulnerabilidade em distribuições pode ser avaliada nestas páginas: DebianUbuntuSUSERHELFedoraArch LinuxGentooSlackware. Por último, mas não menos importante, como sempre, costumamos fazer a recomendação aos usuários e administradores de sistema, tomem os cuidados necessários e realizem as atualizações correspondentes.

Se você interessado em saber mais sobre isso, você pode verificar os detalhes em o seguinte link.