Vulnerabilidade no subsistema netfilter que permite a execução de código no nível do kernel Linux

Netfilter, um subsistema do kernel Linux usado para filtrar e modificar pacotes de rede, possui uma vulnerabilidade (CVE-2022-25636) que permite a execução de código no nível do kernel. É anunciado que foi preparado um exemplo de exploração que permite a um usuário local elevar seus privilégios no Ubuntu 21.10 com o mecanismo de proteção KASLR desabilitado. O problema aparece a partir do kernel 5.4. A correção ainda está disponível como patch (lançamentos corretivos do kernel não foram gerados). Você pode acompanhar as publicações de atualizações de pacotes em distribuições nestas páginas: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

A vulnerabilidade é causada por um erro no cálculo do tamanho do array flow->rule->action.entries na função nft_fwd_dup_netdev_offload (definida no arquivo net/netfilter/nf_dup_netdev.c), o que pode fazer com que dados controlados pelo invasor sejam gravado em uma área de memória além do limite do buffer alocado. O erro aparece ao configurar as regras “dup” e “fwd” em cadeias para as quais é utilizada aceleração de hardware de processamento de pacotes (offload). Como o estouro ocorre antes da criação de uma regra de filtro de pacotes e da verificação do suporte ao descarregamento, a vulnerabilidade também se aplica a dispositivos de rede que não suportam aceleração de hardware, como uma interface de loopback.

Observa-se que o problema é bastante simples de explorar, pois valores que vão além do buffer podem sobrescrever o ponteiro para a estrutura net_device, e os dados sobre o valor sobrescrito são retornados ao espaço do usuário, o que permite descobrir os endereços na memória necessária para realizar o ataque. A exploração da vulnerabilidade requer a criação de certas regras em nftables, o que só é possível com os privilégios CAP_NET_ADMIN, que podem ser obtidos por um usuário sem privilégios em namespaces de rede separados. A vulnerabilidade também pode ser usada para atacar sistemas de isolamento de contêineres.

Fonte: opennet.ru

Adicionar um comentário