
针对(CVE-2023-0179)漏洞利用 Esta vulnerabilidade foi atribuída ao CVE-2023-0179 e afeta todas as versões do Linux de 5.5 a 6.2-rc3, tendo sido testada na versão 6.1.6. Detalhes e artigos sobre a vulnerabilidade podem ser encontrados em os-security.
Este repositório contém o exploit para a vulnerabilidade que descobri recentemente no subsistema nftables, à qual foi atribuído o CVE-2023-0179, afetando todas as versões do Linux de 5.5 a 6.2-rc3, embora o exploit tenha sido testado na versão 6.1.6.
Os detalhes da vulnerabilidade e a descrição podem ser encontrados em oss-security
Basta invocar o comando make needle para gerar o executável correspondente.
libmnl e libnftnl são necessários para a compilação ser bem-sucedida:
sudo apt-get install libmnl-dev libnftnl-dev
O exploit entrará em um namespace de usuário e rede não privilegiados e adicionará uma expressão nft_payload através da função rule_add_payload que, quando avaliada, desencadeará o estouro de buffer da pilha e sobrescreverá os registradores.
O conteúdo é então recuperado com o seguinte comando nft:
nft list map netdev mytable myset12
A saída vazará vários endereços embaralhados relativos a estruturas de dados do kernel, entre os quais encontramos um endereço de instrução do kernel e o ponteiro regs.
O exploit cria uma nova conta de usuário needle:needle com UID 0 abusando da variável modprobe_path.
Aproveite os privilégios de root.
libnftnl de David Bouman e seu post detalhado no blog