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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
bad-epoll — Exploit di escalation dei privilegi del kernel Linux per CVE-2026-46242, una race condition use-after-free in epoll, con root affidabile al 99% su desktop, server e dispositivi Android. | Kitploit
Strumenti/GitHubGitHub/j-jaeyoung/bad-epoll
Sicurezza AndroidEscalation di PrivilegiAnalisi delle VulnerabilitàExploitCTFApprendimento e FormazioneBinary Exploitation
GitHubj-jaeyoung/bad-epoll

bad-epoll

Exploit di escalation dei privilegi del kernel Linux per CVE-2026-46242, una race condition use-after-free in epoll, con root affidabile al 99% su desktop, server e dispositivi Android.

Vedi Repository
50644348 giorni faRevisionato da Kitploit

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

Bad Epoll: il bug che Mythos non ha visto

Bad Epoll exploit running: an unprivileged process escalating to root

Un processo non privilegiato che ottiene i privilegi di root su Google kernelCTF.

Bad Epoll (CVE-2026-46242) è una use-after-free da race condition nel sottosistema epoll del kernel Linux. Questo bug permette a un processo non privilegiato di diventare root, non solo su desktop e server Linux ma anche su dispositivi Android.

Bad Epoll è stato segnalato e sfruttato da Jaeyoung Chung come sottomissione 0-day a Google kernelCTF, che premia un exploit del kernel Linux con $71,337+. La sottomissione di Bad Epoll ha ricevuto un premio di $92,337.

[!NOTE] L'AI di Anthropic, Mythos, ha trovato un altro bug di race nello stesso codice epoll ma non ha visto Bad Epoll.


Perché è grave

  1. Un bug raro che può ottenere root su Android. La maggior parte dei bug di privilege escalation su Linux non può ottenere root su Android. Copy Fail e le sue varianti, per esempio, richiedono moduli che Android non carica mai. Delle circa 130 vulnerabilità sfruttate su Google kernelCTF, solo una decina sono candidate per ottenere root su Android. Bad Epoll è una di queste.

    • Bad Epoll può anche essere attivato dall'interno della sandbox del renderer di Chrome, che blocca quasi ogni altro bug del kernel. Un exploit del renderer potrebbe quindi concatenarsi con Bad Epoll per ottenere l'esecuzione di codice nel kernel, lo stesso impatto che Project Zero ha dimostrato in "From Chrome renderer code exec to kernel with MSG_OOB".
  2. Nessun kill-switch. Copy Fail e le sue varianti possono essere neutralizzati scaricando i loro moduli vulnerabili, ma epoll non ha questa opzione. È una funzionalità centrale del kernel su cui si basano il sistema operativo, i servizi di rete e i browser. L'unico modo per risolverlo è applicare la patch.

  3. Finestra di race minuscola, ma l'attacco è affidabile al 99%. La finestra di race del bug è larga solo circa sei istruzioni, e un tentativo normale quasi mai la colpisce. L'exploit allarga quella finestra ed esegue un ciclo di retry che non manda mai in crash il kernel. Il risultato è un exploit affidabile al 99%, come descritto nella panoramica dell'attacco qui sotto.


Il bug che Mythos non ha visto

Un singolo commit nel 2023 ha introdotto due distinte race condition nel codice epoll, che in tutto conta solo circa 2.500 righe. Entrambe si sono rivelate bug critici che possono portare a privilege escalation.

Il primo è stato trovato da Mythos di Anthropic e segnalato come CVE-2026-43074, con i dettagli nel report pubblico di Anthropic, ANT-2026-CM0TCREP. Questo risultato è di per sé impressionante, perché i bug di race nel kernel sono noti per essere difficili da trovare. Ha dimostrato la capacità di un modello AI di frontiera di trovare bug di race. Un ricercatore indipendente ha poi sottomesso un exploit 1-day per esso a kernelCTF.

L'altra race è Bad Epoll, che Mythos non ha visto. Dato che Mythos ha trovato il primo bug in questo piccolo percorso di codice epoll, è probabile che abbia esaminato la stessa area con una profondità significativa. Non possiamo sapere esattamente perché abbia mancato Bad Epoll, ma due fattori probabilmente lo hanno reso difficile da trovare.

  • La finestra di race è minuscola. È larga solo circa sei istruzioni, quindi l'esatto interleaving dei thread è difficile da immaginare anche guardando il codice vulnerabile.

  • C'erano poche prove a runtime. Dopo che CVE-2026-43074 è stato corretto, la use-after-free di Bad Epoll di solito non attiva KASAN, il principale rilevatore di errori di memoria del kernel. Senza quel segnale, Mythos potrebbe non aver avuto abbastanza fiducia per segnalarlo come un bug reale.

Anche correggere Bad Epoll è stato difficile. La prima patch dei maintainer non ha risolto completamente il problema, e una patch corretta è arrivata solo due mesi dopo la prima segnalazione del bug. È un tempo lungo per un kernel che di solito gestisce le questioni di sicurezza con urgenza.

Nel complesso, Bad Epoll mostra quanto siano difficili le race condition in ogni fase. Sono difficili da trovare anche per un modello di frontiera, difficili da correggere correttamente e, come mostra la sezione successiva, difficili da sfruttare in modo affidabile. Suggerisce anche una direzione di ricerca sulle vulnerabilità che rimane degna di essere esplorata in presenza di modelli AI di frontiera: scoprire un reale impatto sulla sicurezza dietro condizioni temporali ristrette e prove deboli.

[!NOTE] I ricercatori indipendenti Qi Tang e Junxi Qian hanno anche segnalato CVE-2026-43074 al team del kernel Linux il 30 marzo 2026, lo stesso giorno di Anthropic. I loro nomi sono stati inavvertitamente omessi dai crediti per la correzione upstream. Grazie a Guidong Han per aver segnalato queste segnalazioni indipendenti. I tre ricercatori hanno poi trovato ancora un'altra use-after-free da race condition in epoll.


Come funziona l'attacco

Ecco una panoramica di alto livello dell'attacco, per i curiosi.

ep_waiter watches ep_target: the epoll structures behind the bug

Due oggetti epoll collegati. Chiuderli entrambi contemporaneamente attiva la race.

Due dei percorsi di chiusura di epoll vengono eseguiti contemporaneamente e si scontrano. Uno libera un oggetto mentre l'altro sta ancora scrivendo al suo interno, e questa è la use-after-free (UAF).

The close-vs-close race window and how the exploit drives it through a timer interrupt

La finestra di race, e come l'exploit la sfrutta.

L'exploit usa quattro oggetti epoll raggruppati in due coppie. Una coppia attiva la race, mentre l'altra diventa la vittima. Da lì, l'exploit trasforma la scrittura UAF di 8 byte in una UAF su un oggetto file, e usa un attacco cross-cache per controllare completamente il contenuto del file.

Arbitrary kernel read: a dangling struct file backed by a pipe leaks kernel addresses through /proc/self/fdinfo

Trasformare il bug in una lettura arbitraria della memoria del kernel tramite /proc/self/fdinfo.

Scarica lo strumento