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 — Prova di concetto per CVE-2026-43494 (PinTheft): Linux LPE tramite RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. Solo per ricerca autorizzata. | Kitploit
Strumenti/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

Prova di concetto per CVE-2026-43494 (PinTheft): Linux LPE tramite RDS zerocopy refcount bug + io_uring fixed buffers → SUID page-cache overwrite. Solo per ricerca autorizzata.

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
Vedi Repository
843 mesi faNon ancora revisionato

SLEY — PoC PinTheft (CVE-2026-43494)

SLEY PoC — 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

Prova di concetto in un singolo file per CVE-2026-43494 (PinTheft): un'escalation dei privilegi locale del kernel Linux che combina un bug di conteggio dei riferimenti RDS zerocopy con buffer fissi di io_uring per sovrascrivere la cache delle pagine di un binario SUID-root.

Disclaimer: Questo repository è per ricerche di sicurezza autorizzate, istruzione e test difensivi solo. Eseguirlo su sistemi che non possiedi o per cui non hai esplicita autorizzazione è 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 terminale stilizzata per uso in laboratorio e 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 — Blocca sulla CPU 0, individua un binario SUID leggibile (su, mount, passwd, …).
  2. Configurazione io_uring — Registra la pagina anonima come buffer fisso (bias FOLL_PIN ≈ 1024).
  3. Furto di pin — Inonda con invii RDS zerocopy falliti; ogni fallimento può rilasciare un riferimento extra sulla prima pagina bloccata.
  4. Recupero e sovrascrittura — Unmap libera la pagina; riaprire il target SUID compete con il recupero della cache delle pagine; i metadati obsoleti del buffer fisso permettono di scrivere un piccolo stub ELF x86_64 nella cache.
  5. Escalation privilegi — execve del binario SUID esegue lo stub iniettato 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 nella catena pubblica
  • x86_64 per il payload ELF della shell incorporato in questo PoC

Strumenti di compilazione

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# o pacchetto headers equivalente sulla tua distribuzione

Permessi

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

Verifica esposizione (sola lettura)

root@kitploit:~
# Patchato? (esempio — adatta per la tua distribuzione)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

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

# io_uring abilitato?
cat /proc/sys/kernel/io_uring_disabled  # aspettati 0

Compilazione

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

Collegamento statico (opzionale, per immagini di laboratorio minimali):

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

Utilizzo

root@kitploit:~
./sley

Tutto l'output di stato va su stderr (interfaccia ANSI 256 colori, barra di avanzamento, registrazione per fasi). Assicurati che il tuo terminale supporti UTF-8 e truecolor/256 colori per l'interfaccia di disegno delle caselle.

Fasi di esempio:

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 passa al binario SUID scoperto con la prima pagina sovrascritta — producendo una shell root se la competizione e lo stato del kernel si allineano.

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


Mitigazione

Gli advisory di sicurezza specifici per distribuzione potrebbero includere backport di correzioni — tieni traccia della coda di sicurezza del kernel del tuo fornitore.


Struttura del progetto

root@kitploit:~
.
├── README.md              # Questo file
├── proof-of-concept.jpg   # Screenshot: LPE riuscita (uid 1000 → root)
├── sley.c                 # PoC + interfaccia terminale in un singolo file
└── .gitignore

Riferimenti

  • NVD — CVE-2026-43494
  • oss-security — Discussione su PinTheft
  • Commit della correzione del kernel

Legale

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


Licenza

MIT — consulta il file di licenza del repository se presente. Usalo in modo responsabile.

Scarica lo strumento
ElementoDettaglio
CVECVE-2026-43494
Nome pubblicoPinTheft
Componentenet/rds — percorso send zerocopy (rds_message_zcopy_from_user)
PrimitivaDoppio put_page() quando il pin della pagina fallisce → ruba refs FOLL_PIN
ArmamentoBuffer fisso io_uring + RDS zerocopy fallito → scrittura UAF nella cache delle pagine
ImpattoRoot locale su configurazioni vulnerabili
Correzione upstreame17492979319
AzioneNote
Patchare il kernelApplica la correzione stabile contenente il commit e17492979319
Disabilitare RDSmodprobe -r rds_tcp rds (e blocca il caricamento automatico) se non necessario
Limitare io_uringkernel.io_uring_disabled=1 o 2 tramite sysctl
Minimo privilegioRimuovi binari SUID non necessari; usa container con profili induriti
MonitoraggioAvvisa in caso di burst di fallimenti RDS zerocopy + pattern di registrazione buffer io_uring