Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-23111-nftables-lab — Checker di esposizione e laboratorio sicuro con VM usa-e-getta per CVE-2026-23111 (Linux nf_tables use-after-free local privilege escalation). Difensivo: rilevamento, mitigazione, laboratorio multi-distribuzione. Nessun exploit. | Kitploit
Strumenti/GitHubGitHub/ishankaru/cve-2026-23111-nftables-lab
Escalation di PrivilegiAnalisi delle VulnerabilitàAudit di ConfigurazioneApprendimento e FormazioneRisorse CurateEscape dal ContainerLab e Pratica
GitHubishankaru/cve-2026-23111-nftables-lab

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-23111-nftables-lab

Checker di esposizione e laboratorio sicuro con VM usa-e-getta per CVE-2026-23111 (Linux nf_tables use-after-free local privilege escalation). Difensivo: rilevamento, mitigazione, laboratorio multi-distribuzione. Nessun exploit.

Vedi Repository
293 mesi faNon ancora revisionato

CVE-2026-23111 nf_tables LPE: controllo dell'esposizione e laboratorio sicuro

Strumenti difensivi e un laboratorio virtual-machine riproducibile per CVE-2026-23111, la escalation di privilegi locali use-after-free di nf_tables nel kernel Linux (un controllo invertito dell'attività degli elementi in nft_map_catchall_activate(), il bug "off by !"). Un utente locale non privilegiato può elevarsi a root e fuggire da un contenitore attraverso namespace utente non privilegiati.

Questo repository non contiene exploit. Contiene un rilevatore di esposizione in sola lettura, uno script per creare un utente genuinamente non privilegiato e definizioni di VM in modo da poter raggiungere il bug in sicurezza e studiare la ricerca pubblica. La catena completa per root si trova nelle divulgazioni collegate di seguito, non qui.

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

File

  • check-exposure.sh — rilevatore in sola lettura: versione del kernel rispetto alla build corretta, presenza di nf_tables, precondizione di userns non privilegiato e firme di crash nei log del kernel.
  • setup-unprivileged-user.sh — crea un labuser senza sudo e dimostra che non è privilegiato. Lo scopo di un test di LPE è partire da un utente che non può già diventare root.
  • Vagrantfile — VM Debian 12 e AlmaLinux 10 usa e getta (le distribuzioni che Multipass non può avviare).

Perché una VM e non un contenitore

Un contenitore condivide il kernel dell'host. Eseguire un exploit del kernel all'interno di un contenitore lo esegue contro il kernel reale dell'host, quindi un "test" può compromettere la macchina effettiva. Usa una VM usa e getta con il proprio kernel.

Distribuzioni e lanciatori

Multipass avvia solo Ubuntu, ecco perché gli altri usano Vagrant.

Fissare un kernel vulnerabile (per distribuzione)

Ogni distribuzione ha bisogno di un trucco diverso per avviare un kernel genuinamente pre-patch che abbia ancora una rete funzionante su una VM cloud:

  • Ubuntu (cloud): usa un vecchio linux-aws, non linux-generic. Il kernel generico manca del driver di scheda di rete AWS ENA e perde SSH su un'istanza Nitro. sudo apt install -y linux-image-6.8.0-1028-aws (sotto il fisso 6.8.0-1051), impostalo come predefinito in GRUB, riavvia. Su virt locale il kernel generico va bene.
  • Debian: il repository principale contiene solo il kernel corrente (patchato). Aggiungi un mirror di snapshot pre-patch e installa il kernel cloud (mantiene ENA): deb [check-valid-until=no trusted=yes] https://snapshot.debian.org/archive/debian/20251201T000000Z/ bookworm main, poi apt install -y linux-image-6.1.0-39-cloud-amd64=6.1.148-1 (sotto il fisso 6.1.164-1, DSA-6163-1).
  • AlmaLinux/Rocky: i kernel vulnerabili el10_1 sono nel vault 10.1. Punta dnf a https://vault.almalinux.org/10.1/BaseOS/x86_64/os/ e , poi .

Eseguilo (qualsiasi 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'

Quella sequenza esegue il percorso di abort buggato; non include una catena di escalation dei privilegi e su un kernel standard è silenziosa (vedi sotto).

Cosa ho effettivamente osservato (tre varianti, genuine)

Il risultato onesto sul trigger: su un kernel di produzione standard è silenzioso. Esegue il percorso di abort buggato senza crash e nessun output dmesg, anche in loop con free-and-reuse. L'output KASAN: slab-use-after-free nei writeup proviene da un kernel KASAN/debug; armare il use-after-free latente richiede lo heap spray dell'exploit (non in questo repo). Il laboratorio dimostra che l'utente non privilegiato raggiunge il bug, mostra che la restrizione AppArmor predefinita di Ubuntu blocca quel percorso, e fornisce un verdetto chiaro ESPOSTO / MITIGATO / corretto. Non fornisce una shell root, per progettazione.

Mitigazione

Restringere i namespace utente non privilegiati (chiude il percorso realistico per gli exploit pubblici), quindi applicare la patch al 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

Riferimenti

  • 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 riproduzione: 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

Licenza

MIT. Uso difensivo ed educativo.

Scarica lo strumento
DistribuzioneLancia conPerché
Ubuntu 24.04 / 22.04Multipass (solo Ubuntu)Exodus riprodotto su entrambi; 24.04 ha la restrizione AppArmor userns attiva per default, quindi mostra la mitigazione.
Debian 12Vagrant (vagrant up debian)Exodus riprodotto su di essa; userns non privilegiati aperti per default.
AlmaLinux / Rocky 10.1Vagrant (vagrant up alma)Corrisponde al kernel target di FuzzingLabs 6.12.0-124.x.el10, quindi il loro trigger pubblico si riproduce come pubblicato.
dnf install kernel-6.12.0-124.38.1.el10_1
grubby --set-default
DistribuzioneKernel vulnerabile avviatouserns predefinitoVerdetto
Ubuntu 24.046.8.0-1028-awsristretto (AppArmor)MITIGATO, non corretto
Debian 126.1.0-39-cloud (6.1.148-1)apertoESPOSTO
AlmaLinux 10.16.12.0-124.38.1.el10_1apertoESPOSTO