Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
Strumenti/GitHubGitHub/jayhutajulu1/cve-2026-43494-pintheft-poc
Escalation di PrivilegiMemory ForensicsAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubjayhutajulu1/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

CVE-2026-43494-PinTheft-PoC

Proof-of-concept per CVE-2026-43494 (PinTheft): LPE su Linux tramite bug di refcount zerocopy RDS + buffer fissi io_uring → sovrascrittura della cache di pagina SUID. Solo ricerca autorizzata.

Vedi Repository
1162 mesi faNon ancora revisionato

SLEY — PinTheft PoC (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 locali del kernel Linux che combina un bug di conteggio dei riferimenti zerocopy RDS con buffer fissi di io_uring per sovrascrivere la cache delle pagine di un binario SUID-root.

Liberatoria: Questo repository è destinato esclusivamente a ricerca sulla sicurezza autorizzata, formazione e test difensivi. Eseguirlo su sistemi di cui non si è proprietari o senza esplicita autorizzazione è illegale e non etico. Gli autori declinano ogni responsabilità per uso improprio.


Panoramica

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 → ruba i riferimenti FOLL_PIN
Armamentobuffer fisso io_uring + zerocopy RDS fallito → scrittura UAF nella cache delle pagine
ImpattoRoot locale su configurazioni vulnerabili
Fix upstreame17492979319

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

flowchart LR
    A[mmap pagina anonima] --> B[io_uring: registra buffer fisso]
    B --> C[Clona tabella buffer sul 2° ring]
    C --> D[1024× invii zerocopy RDS falliti]
    D --> E[Drena bias FOLL_PIN / ruba riferimenti]
    E --> F[munmap → pagina liberata]
    F --> G[Pagina del binario SUID reclamata nella cache delle pagine]
    G --> H[Puntatore obsoleto io_uring scrive stub ELF]
    H --> I[exec SUID → shell root]
  1. Ricognizione — Fissa la 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 zerocopy RDS falliti; ogni fallimento può rilasciare un riferimento extra sulla prima pagina bloccata.
  4. Recupero e sovrascrittura — Il de-mapping libera la pagina; la riapertura del target SUID compete per il recupero della cache delle pagine; i metadati del buffer fisso obsoleto consentono di scrivere uno stub ELF x86_64 nella cache.
  5. Privesc — 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 utilizzata dalla catena pubblica
  • x86_64 per il payload ELF shell incorporato in questo PoC

Strumenti di compilazione

sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# o pacchetto header equivalente sulla tua distribuzione

Autorizzazioni

  • 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)

# 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  # attendi 0

Compilazione

gcc -O2 -Wall -Wextra -o sley sley.c

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

gcc -O2 -static -o sley sley.c

Utilizzo

./sley

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

Fasi di esempio:

PHASE 1 │ Ricognizione
PHASE 2 │ Configurazione memoria e io_uring
PHASE 3 │ Furto di riferimento pin (zerocopy RDS)
PHASE 4 │ Sovrascrittura cache pagine e 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 — ottenendo una shell root se la race e lo stato del kernel si allineano.

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


Mitigazione

AzioneNote
Patcha il kernelApplica il fix stabile contenente il commit e17492979319
Disabilita RDSmodprobe -r rds_tcp rds (e blocca il caricamento automatico) se non necessario
Limita io_uringkernel.io_uring_disabled=1 o 2 tramite sysctl
Minimo privilegioRimuovi i binari SUID non necessari; usa contenitori con profili rinforzati
MonitoraAllerta su burst di fallimenti zerocopy RDS e pattern di registrazione dei buffer io_uring

Gli advisory di sicurezza specifici per distribuzione possono includere patch backportate — tieni traccia della coda di sicurezza del kernel del tuo fornitore.


Struttura del progetto

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

Riferimenti

  • NVD — CVE-2026-43494
  • oss-security — Discussione su PinTheft
  • Commit di fix del kernel

Aspetti legali

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


Licenza

MIT — vedi il file di licenza del repository se aggiunto. Usa responsabilmente.

Scarica lo strumento