Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-23111-nftables-lab — Verificador de exposição e laboratório seguro de VM descartável para CVE-2026-23111 (Linux nf_tables use-after-free escalada de privilégio local). Defensivo: detecção, mitigação, laboratório multi-distro. Sem exploit. | Kitploit
Ferramentas/GitHubGitHub/ishankaru/cve-2026-23111-nftables-lab
Escalada de PrivilégiosAnálise de VulnerabilidadesAuditoria de ConfiguraçãoAprendizado e EducaçãoRecursos CuradosEscape de ContêinerLabs e Prática
GitHubishankaru/cve-2026-23111-nftables-lab

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-23111-nftables-lab

Verificador de exposição e laboratório seguro de VM descartável para CVE-2026-23111 (Linux nf_tables use-after-free escalada de privilégio local). Defensivo: detecção, mitigação, laboratório multi-distro. Sem exploit.

Ver Repositório
2há 2 mesesAinda não revisado

CVE-2026-23111 nf_tables LPE: verificação de exposição e laboratório seguro

Ferramenta defensiva e um laboratório de máquina virtual reproduzível para CVE-2026-23111, a escalada de privilégio local use-after-free do nf_tables no kernel Linux (uma verificação invertida de atividade de elemento em nft_map_catchall_activate(), o bug "off by !"). Um usuário local não privilegiado pode escalar para root e escapar de um contêiner através de namespaces de usuário não privilegiados.

Este repositório não contém exploit. Ele contém um verificador de exposição somente leitura, um script para criar um usuário genuinamente não privilegiado e definições de VM para que você possa alcançar o bug com segurança e estudar a pesquisa pública. A cadeia completa de root está nas divulgações vinculadas abaixo, não aqui.

Artigo completo: https://techearl.com/cve-2026-23111-nftables-lpe

Arquivos

  • check-exposure.sh — detector somente leitura: versão do kernel vs. a compilação corrigida, presença de nf_tables, a pré-condição de userns não privilegiados e assinaturas de crash no log do kernel.
  • setup-unprivileged-user.sh — cria um labuser sem sudo e comprova que ele não é privilegiado. O objetivo de um teste de LPE é começar a partir de um usuário que já não pode se tornar root.
  • Vagrantfile — VMs descartáveis Debian 12 e AlmaLinux 10 (as distribuições que o Multipass não consegue iniciar).

Por que uma VM e não um contêiner

Um contêiner compartilha o kernel do host. Executar um exploit de kernel dentro de um contêiner o executa contra o kernel real do host, então um "teste" pode comprometer a máquina real. Use uma VM descartável com seu próprio kernel.

Distribuições e lançadores

O Multipass inicia apenas Ubuntu, por isso os outros usam Vagrant.

Fixando um kernel vulnerável (por distribuição)

Cada distribuição precisou de um truque diferente para inicializar um kernel genuinamente pré-correção que ainda tenha rede funcional em uma VM na nuvem:

  • Ubuntu (nuvem): use um linux-aws antigo, não linux-generic. O kernel genérico não possui o driver de NIC ENA da AWS e perde SSH em uma instância Nitro. sudo apt install -y linux-image-6.8.0-1028-aws (abaixo do corrigido 6.8.0-1051), defina-o como padrão no GRUB, reinicie. Em virt local, o kernel genérico funciona.
  • Debian: o repositório principal só carrega o kernel atual (corrigido). Adicione um espelho snapshot pré-correção e instale o kernel cloud (mantém ENA): deb [check-valid-until=no trusted=yes] https://snapshot.debian.org/archive/debian/20251201T000000Z/ bookworm main, depois apt install -y linux-image-6.1.0-39-cloud-amd64=6.1.148-1 (abaixo do corrigido 6.1.164-1, DSA-6163-1).
  • AlmaLinux/Rocky: os kernels vulneráveis el10_1 estão no vault 10.1. Aponte dnf para https://vault.almalinux.org/10.1/BaseOS/x86_64/os/ e , depois .

Execute (qualquer VM)

root@kitploit:~
# 1. Create a real unprivileged user and prove it cannot sudo.
#    (useradd, not Debian's adduser, so it works on RHEL too.)
sudo bash setup-unprivileged-user.sh labuser

# 2. Exposure verdict.
sudo ./check-exposure.sh

# 3. As labuser, the precondition, then the public nft trigger inside a netns.
sudo -u labuser unshare -Ur id     # uid=0 in a new userns = precondition open
                                   # (denied on stock Ubuntu 24.04 = mitigation working)

# The public FuzzingLabs trigger (catchall GOTO + aborted batch). Inlined here as
# documentation; this repo does not ship an executable exploit/trigger file.
sudo -u labuser unshare -Urn bash -c '
  nft add table inet t; nft add chain inet t c
  nft add map inet t m "{ type ipv4_addr : verdict; }"
  nft add element inet t m "{ * : goto c }"
  printf "delete element inet t m { * }\ndelete element inet t m { 1.2.3.4 }\n" > /tmp/b.nft
  nft -f /tmp/b.nft; nft flush ruleset'

Essa sequência executa o caminho de aborto com bug; ela não inclui uma cadeia de escalada de privilégio e, em um kernel padrão, é silenciosa (veja abaixo).

O que observei de fato (três sabores, genuínos)

A constatação honesta sobre o gatilho: em um kernel de produção padrão, ele é silencioso. Ele executa o caminho de aborto com bug sem crash e sem saída em dmesg, mesmo em loop com liberação e reutilização. A saída KASAN: slab-use-after-free nos artigos vem de um kernel KASAN/debug; a transformação do use-after-free latente em exploit precisa do heap spray (não neste repositório). O laboratório comprova que o usuário não privilegiado alcança o bug, mostra a restrição AppArmor padrão do Ubuntu bloqueando esse caminho e dá um veredito claro de EXPOSTO / MITIGADO / corrigido. Ele não fornece um shell root, por design.

Mitigação

Restrinja namespaces de usuário não privilegiados (fecha o caminho realista para os exploits públicos) e então corrija o kernel.

root@kitploit:~
# Ubuntu 23.10+ (AppArmor-based, keeps legitimate userns users working):
echo "kernel.apparmor_restrict_unprivileged_userns=1" | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Elsewhere (blanket disable; set both on Debian/Ubuntu):
printf 'kernel.unprivileged_userns_clone=0\nuser.max_user_namespaces=0\n' | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Patch (Ubuntu 24.04 generic fixed at 6.8.0-107.107):
sudo apt update && sudo apt install --only-upgrade linux-image-generic && sudo reboot

Referências

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23111
  • Exodus Intelligence "Off By !": https://blog.exodusintel.com/2026/06/08/off-by-exploiting-a-use-after-free-in-the-linux-kernel/
  • FuzzingLabs reproduction: https://fuzzinglabs.com/repro-cve-2026-23111/
  • Ubuntu: https://ubuntu.com/security/CVE-2026-23111
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-23111
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-23111

Licença

MIT. Uso defensivo e educacional.

Baixar ferramenta
DistribuiçãoIniciar comPor quê
Ubuntu 24.04 / 22.04Multipass (Ubuntu only)Exodus reproduzido em ambas; 24.04 vem com a restrição AppArmor userns ativada por padrão, então mostra a mitigação.
Debian 12Vagrant (vagrant up debian)Exodus reproduzido nela; userns não privilegiados abertos por padrão.
AlmaLinux / Rocky 10.1Vagrant (vagrant up alma)Corresponde ao kernel alvo 6.12.0-124.x.el10 do FuzzingLabs, então o gatilho público deles reproduz como publicado.
dnf install kernel-6.12.0-124.38.1.el10_1
grubby --set-default
DistribuiçãoKernel vulnerável inicializadouserns padrãoVeredito
Ubuntu 24.046.8.0-1028-awsrestrito (AppArmor)MITIGADO, não corrigido
Debian 126.1.0-39-cloud (6.1.148-1)abertoEXPOSTO
AlmaLinux 10.16.12.0-124.38.1.el10_1abertoEXPOSTO