Bad Epoll: è stata trovata una vulnerabilità in Linux e Android per ottenere accesso root.


1

Nel kernel di Linux è stata scoperta una vulnerabilità Bad Epoll, registrata come CVE-2026-46242. Essa consente a un normale utente locale senza diritti speciali di aumentare i propri privilegi a root. Secondo l'autore dello studio, Jayon Chong, il problema colpisce non solo i desktop e i server Linux, ma anche alcuni dispositivi Android su nuove versioni del kernel — questo è sottolineato separatamente in una descrizione di Bad Epoll.

L'errore si trova nel sottosistema epoll — il meccanismo standard di Linux per monitorare molteplici descrittori di file, connessioni di rete e eventi di input/output. Questi meccanismi sono ampiamente utilizzati da server, browser e servizi di rete, quindi non è possibile semplicemente disabilitare epoll. In un'analisi tecnica la vulnerabilità è descritta come un race condition, che porta a use-after-free: quando due oggetti epoll correlati vengono chiusi simultaneamente, un thread libera le strutture interne, mentre l'altro continua ad accedervi.

In particolare, il problema si presenta quando un epoll descriptor monitora un altro, e entrambi i descrittori vengono chiusi in parallelo. Dopo la chiamata a __ep_remove(), il campo file->f_ep viene temporaneamente azzerato, e un __fput() in competizione potrebbe concludere che un'ulteriore pulizia non è più necessaria. Di conseguenza, l'oggetto struct eventpoll o il struct file associato viene liberato troppo presto, mentre il codice continua a lavorare con i puntatori alla memoria già liberata. Questo offre all'attaccante un primitivo per il danneggiamento della memoria del kernel.

Non sono necessarie capabilities aggiuntive e non sono necessari user namespaces per l'attacco — è sufficiente avere CONFIG_EPOLL, il che rende il problema particolarmente sgradevole per i normali sistemi Linux. Secondo il rapporto iniziale del ricercatore, il bug è stato introdotto nel kernel con il commit 58c9b016e128 nel 2023, e corretto con il commit a6dc643c693.

Nonostante la finestra di competizione molto ristretta, il ricercatore ha preparato un exploit funzionante per Google kernelCTF. In la descrizione dell'exploit Mostra come un errore si trasforma in un record di 8 byte in una struttura liberata, quindi in una perdita di memoria del kernel tramite /proc/self/fdinfo, intercettando file->f_op->poll e una catena ROP per ottenere i privilegi di root. Per l'obiettivo lts-6.12.67 è dichiarata una stabilità di circa il 99%, per COS di circa il 98%; l'exploit per Android, secondo l'autore, è ancora in fase di sviluppo.

Sotto attacco ci sono i kernel basati sul branch 6.4 e successivi, a meno che non venga portata la correzione. I vecchi dispositivi Android con kernel 6.1, inclusi Pixel 8 e modelli simili, sono considerati dall'autore inattaccabili. Resta agli utenti e agli amministratori l'unica opzione normativa di protezione: installare l'aggiornamento del kernel dal proprio distributore o venditore del dispositivo.

Fonte: linux.org.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster