Race condition letale per Linux: il trucco che trasforma un segnale POSIX in un’arma


The media in this post is not displayed to visitors. To view it, please log in.

Un ricercatore indipendente di nome Alexander Popov ha presentato una nuova tecnica per sfruttare una vulnerabilità critica nel kernel Linux, a cui è stato assegnato l’identificatore CVE-2024-50264. Questo errore di tipo “use-after-free” nel sottosistema AF_VSOCK è presente dalla versione 4.8 del kernel e consente a un utente locale senza privilegi di avviare uno errore quando si lavora con un oggetto virtio_vsock_sock durante la creazione della connessione.

La complessità e l’entità delle conseguenze hanno fatto sì che il bug si aggiudicasse i Pwnie Awards 2025 nella categoria “Best Privilege Escalation”.

In precedenza, si riteneva che lo sfruttamento del problema fosse estremamente difficile a causa dei meccanismi di difesa del kernel, come la distribuzione casuale delle cache e le peculiarità dei bucket SLAB, che interferiscono con metodi semplici come l’heap spraying.

Tuttavia, Popov è riuscito a sviluppare una serie di tecniche che eliminano queste restrizioni. Il lavoro è stato svolto nell’ambito della piattaforma aperta kernel-hack-drill, progettata per testare gli exploit del kernel.

Il passaggio chiave è stato l’utilizzo di un tipo speciale di segnale POSIX che non termina il processo. Interrompe la chiamata di sistema connect(), consentendo una riproduzione affidabile delle race condition e di non perdere il controllo sull’attacco.

Successivamente, il ricercatore ha imparato a controllare il comportamento delle cache di memoria sostituendo le proprie strutture al posto degli oggetti rilasciati. La messa a punto delle temporizzazioni consente di far scivolare i dati preparati in precedenza esattamente dove si trovava in precedenza l’elemento vulnerabile.

youtube.com/embed/qC95zkYnwb0?…

L'articolo Race condition letale per Linux: il trucco che trasforma un segnale POSIX in un’arma proviene da il blog della sicurezza informatica.