Le Rust Coreutils su Ubuntu stanno facendo discutere parecchio, e il motivo ha un numero preciso: 113. Tanti sono i problemi emersi durante un audit indipendente commissionato da Canonical, l’azienda dietro Ubuntu, per valutare lo stato di salute del progetto che ambisce a rimpiazzare le storiche utility GNU con una riscrittura completa in Rust. Buttato lì così, quel numero sembra preoccupante. Ma andando a guardare nel dettaglio, la situazione è decisamente più sfumata: la gran parte delle criticità risultava già risolta prima dell’integrazione in Ubuntu 26.04 LTS.
Per capire perché la faccenda è importante, bisogna fare un passo indietro. Le coreutils non sono un pacchetto tra i tanti: rappresentano il cuore operativo di qualsiasi sistema Linux. Parliamo di comandi come ls, cp, mv, rm, mkdir, cat, chmod, df, echo e molti altri. Strumenti che permettono di gestire file, directory, permessi, spazio su disco e automazione tramite script. Senza di essi, un sistema Linux semplicemente non funziona. Le Rust Coreutils riscrivono tutti questi strumenti nel linguaggio Rust, progettato per ridurre errori comuni legati alla gestione della memoria. Ecco perché Canonical guarda con interesse crescente a questa reimplementazione.
Cosa ha trovato l’audit e perché tre comandi restano ancora in versione GNU
L’analisi è stata condotta da Zellic, una società specializzata in sicurezza applicativa, tra fine 2025 e inizio 2026. Il lavoro ha attraversato più fasi e ha prodotto quel totale di 113 problemi, tra vulnerabilità di sicurezza e difetti minori. Ubuntu 26.04 LTS integra le Rust Coreutils nella versione 0.8, che include già gran parte delle patch emerse dalla verifica. Quindi non si parla di un esercizio teorico, ma di un processo concreto che ha portato a correzioni reali nel codice.
Detto questo, il numero elevato di problemi non va letto per forza come un campanello d’allarme. Un progetto giovane, senza decenni di utilizzo alle spalle, tende a concentrare i difetti in una fase iniziale. L’audit ha semplicemente accelerato un processo che nel software storico si è diluito nel corso degli anni.
Però non tutto è stato promosso. Tre comandi fondamentali, cioè cp, mv e rm, restano ancora basati sull’implementazione GNU anche in Ubuntu 26.04 LTS. Il motivo è tecnico e specifico: le versioni Rust di questi strumenti presentano ancora vulnerabilità di tipo TOCTOU (time of check to time of use). Si tratta di un tipo di bug in cui una risorsa può cambiare stato tra il momento in cui viene controllata e quello in cui viene effettivamente usata. In scenari con filesystem complessi o operazioni concorrenti, questo può generare comportamenti imprevisti o, nei casi peggiori, falle sfruttabili. Canonical ha quindi scelto la strada più prudente, escludendo queste utility dalla distribuzione fino alla loro completa stabilizzazione.
L’obiettivo di Ubuntu 26.10 e le reazioni della comunità
Il traguardo dichiarato è ambizioso ma concreto: arrivare al 100% di Rust Coreutils già con Ubuntu 26.10. Se le vulnerabilità TOCTOU verranno risolte nei tempi previsti e i test di compatibilità daranno esito positivo, anche cp, mv e rm passeranno alla nuova implementazione. Sarebbe il primo caso di sostituzione completa delle coreutils GNU in una distribuzione mainstream. Una fase comunque delicata, perché anche piccole variazioni nel comportamento del sistema possono influire su script legacy, sistemi di integrazione continua e ambienti di produzione.
Le reazioni nella comunità sono polarizzate. Alcuni osservatori fanno notare che, nonostante il numero apparentemente alto di vulnerabilità, non emergono problemi particolarmente critici e la maggior parte dei bug è già stata risolta. Altri mettono in discussione la priorità stessa dell’iniziativa, sostenendo che le risorse potrebbero essere meglio impiegate su componenti più esposti come OpenSSL o SSH. La contro argomentazione, però, regge: migliorare la sicurezza delle utility di base riduce comunque la superficie di attacco, soprattutto in ambienti multiutente o automatizzati. Anche un comando apparentemente banale può diventare rilevante in scenari complessi. Diversi commentatori, pur non condividendo la direzione tecnica, riconoscono che commissionare un audit indipendente prima di una release LTS è stata una decisione intelligente: meglio scovare i problemi prima, piuttosto che ritrovarseli in produzione.
