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-43494-PinTheft-PoC — Proof-of-concept per CVE-2026-43494 (PinTheft): escalatione locale dei privilegi nel kernel Linux che sfrutta un bug di conteggio dei riferimenti in RDS zerocopy con buffer fissi di io_uring per sovrascrivere la cache delle pagine del binario SUID. | Kitploit
Strumenti/GitHubGitHub/letsr00t/cve-2026-43494-pintheft-poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitCTFApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubletsr00t/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

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

Proof-of-concept per CVE-2026-43494 (PinTheft): escalatione locale dei privilegi nel kernel Linux che sfrutta un bug di conteggio dei riferimenti in RDS zerocopy con buffer fissi di io_uring per sovrascrivere la cache delle pagine del binario SUID.

Vedi Repository
141 mese faNon ancora revisionato

SLEY — PoC di PinTheft (CVE-2026-43494)

SLEY PoC — da uid 1000 a root su WSL2

Prova di concetto — uid=1000(raken) → uid=0(root) dopo ./sley su WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

Proof-of-concept monofile per CVE-2026-43494 (PinTheft): un'escalation dei privilegi locale del kernel Linux che combina un bug di conteggio dei riferimenti nella zerocopy RDS con i buffer fissi di io_uring per sovrascrivere la page cache di un binario SUID root.

Disclaimer: Questo repository è destinato esclusivamente a ricerca di sicurezza autorizzata, formazione e test difensivi. Eseguirlo su sistemi di cui non sei proprietario o per cui non hai esplicita autorizzazione ai test è illegale e non etico. Gli autori non si assumono alcuna responsabilità per un uso improprio.


Panoramica

La ricerca pubblica originale e il PoC sono stati pubblicati dal team V12 Security (Aaron Esau). SLEY è una reimplementazione indipendente e compatta con un'interfaccia di terminale stilizzata per uso in laboratorio e per l'apprendimento.


Come funziona

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Ricognizione — Fissa l'affinità alla CPU 0, individua un binario SUID leggibile (su, mount, passwd, …).
  2. Preparazione di io_uring — Registra la pagina anonima come buffer fisso (FOLL_PIN bias ≈ 1024).
  3. Furto del pin — Inonda con invii zerocopy RDS falliti; ogni fallimento può rilasciare un riferimento extra sulla prima pagina pinnata.
  4. Reclaim e sovrascrittura — L'unmap libera la pagina; la riapertura del target SUID compete con il reclaim della page cache; i metadati ormai obsoleti del buffer fisso consentono di scrivere una piccola stub ELF x86_64 nella cache.
  5. Privesc — l'execve del binario SUID esegue la stub iniettata come root.

Requisiti

Kernel / configurazione

  • Kernel Linux vulnerabile (non patchato) con il bug RDS presente
  • CONFIG_RDS=y e CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y e kernel.io_uring_disabled = 0
  • Moduli rds / rds_tcp caricati (o caricabili automaticamente da utenti non privilegiati)
  • Kernel ≥ 6.13 per l'API IORING_REGISTER_CLONE_BUFFERS usata dalla catena pubblica
  • x86_64 per il payload ELF di shell incorporato in questo PoC

Strumenti di compilazione

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

Permessi

  • Un utente locale non privilegiato è sufficiente su un host vulnerabile (questo è il modello di minaccia)
  • Non eseguire su sistemi di produzione

Verifica dell'esposizione (sola lettura)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

Compilazione

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

Linking statico (opzionale, per immagini di laboratorio minime):

root@kitploit:~
gcc -O2 -static -o sley sley.c

Utilizzo

root@kitploit:~
./sley

Tutto l'output di stato va su stderr (interfaccia ANSI a 256 colori, barra di avanzamento, log a fasi). Assicurati che il tuo terminale supporti UTF-8 e truecolor/256 colori per l'interfaccia a caratteri box-drawing.

Esempio di fasi:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

Risultato atteso (host vulnerabile)

Su una configurazione sfruttata con successo, la catena si completa e cede il controllo al binario SUID individuato, con la prima pagina sovrascritta — producendo una root shell se la race e lo stato del kernel si allineano.

Su kernel patchati, host induriti o in assenza di RDS/io_uring, il PoC fallirà subito (nessun target SUID, errori mmap/io_uring/socket, ecc.).


Mitigazione

Gli advisory di sicurezza specifici per distribuzione possono includere patch backportate — segui la coda di sicurezza del kernel del tuo fornitore.


Struttura del progetto

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

Riferimenti

  • NVD — CVE-2026-43494
  • oss-security — discussione su PinTheft
  • Commit della correzione nel kernel

Note legali

Questo software è fornito così com'è per ricerca e formazione. Sei responsabile del rispetto delle leggi applicabili e dell'ottenimento di un'autorizzazione scritta prima di testare qualsiasi sistema che non possiedi.


Licenza

MIT — consulta il file di licenza del repository se aggiunto. Usa in modo responsabile.

Scarica lo strumento
ElementoDettaglio
CVECVE-2026-43494
Nome pubblicoPinTheft
Componentenet/rds — percorso di invio zerocopy (rds_message_zcopy_from_user)
PrimitivaDoppia put_page() quando il pin della pagina fallisce → furto dei ref FOLL_PIN
Weaponizzazionebuffer fisso io_uring + zerocopy RDS fallita → scrittura UAF nella page cache
ImpattoRoot locale su configurazioni vulnerabili
Correzione upstreame17492979319
AzioneNote
Patch del kernelApplicare la correzione stabile che include il commit e17492979319
Disabilitare RDSmodprobe -r rds_tcp rds (e bloccare il caricamento automatico) se non necessario
Limitare io_uringkernel.io_uring_disabled=1 o 2 tramite sysctl
Minimo privilegioRimuovere i binari SUID non necessari; usare container con profili induriti
MonitoraggioAvvisi su raffiche di errori zerocopy RDS + pattern di registrazione dei buffer io_uring