Linux sette punto due aggiunge flag per evitare inganni con file speciali

21 May 2026 Pubblicato | Tradotto dallo spagnolo

La prossima versione del kernel Linux, la 7.2, includerà il flag OPENAT2_REGULAR per la chiamata di sistema openat2. Questa funzionalità consente ai programmi di assicurarsi di aprire solo file regolari, evitando che vengano reindirizzati a dispositivi speciali come /dev/null o FIFO, che possono causare comportamenti di blocco imprevisti e vulnerabilità di sicurezza.

Processo di compilazione del kernel Linux, terminale del programmatore che mostra la syscall openat2 con il flag OPENAT2_REGULAR evidenziato in codice verde, catena simbolica che rappresenta il reindirizzamento dei file interrotto da un'icona a forma di scudo, nodi di dispositivo FIFO malevoli e /dev/null mostrati come percorsi bloccati con segni X rossi, icona di file regolare con segno di spunta luminoso, stile di illustrazione tecnica, sfondo del terminale scuro con pioggia di codice simile a Matrix, illuminazione drammatica blu e arancione, tracce di circuiti stampati ultra-dettagliate sullo sfondo, visualizzazione ingegneristica fotorealistica

Come funziona OPENAT2_REGULAR nel kernel 🛡️

Il flag OPENAT2_REGULAR agisce come un filtro nella chiamata openat2. Quando viene attivato, il kernel verifica che il file di destinazione sia di tipo regolare (S_IFREG) prima di consentirne l'apertura. Se il file è un dispositivo a blocchi, un FIFO o un socket, l'operazione fallisce con l'errore EISDIR o EPERM. Questa verifica avviene dopo la risoluzione dei collegamenti simbolici, bloccando il passaggio ad attacchi che utilizzano collegamenti per puntare a dispositivi speciali. L'implementazione è stata richiesta dal gruppo UAPI per proteggere le applicazioni che elaborano file utente.

Addio agli spaventi con /dev/null e i FIFO birichini 😅

Fino ad ora, un programma fiducioso poteva aprire un file e scoprire che era un FIFO che lo lasciava in attesa di dati per sempre, o peggio, un /dev/null che ingoiava tutto il suo output senza fiatare. Con OPENAT2_REGULAR, questi spaventi finiscono: se il file non è regolare, il kernel dice no e lo sviluppatore si risparmia ore di debug. È come mettere un filtro all'ingresso del disco in modo che passino solo file veri, non travestimenti da carnevale.