Ubuntu 26.10 passe cp, mv et rm aux coreutils en Rust
Ubuntu 26.10 confie cp, mv et rm à Rust. Un audit de 113 problèmes avait écarté ces trois commandes de 26.04 LTS ; la version stable arrive le 15 octobre.
3 min de lecture

En chiffres
- issues Zellic's audit found in uutils, 44 of them with CVEs
- 113
- Ubuntu 26.10 stable release date
- Oct 15
- commands moving in this release: cp, mv and rm
- 3
Ubuntu 26.10 remplace cp, mv et rm par leurs implémentations en Rust, ce qui achève une transition entamée par la distribution il y a un an. Phoronix rapporte qu'il s'agissait des trois dernières commandes GNU restantes, et que les problèmes de compatibilité qui les retenaient ont été corrigés en amont dans uutils. La version stable est attendue le 15 octobre 2026.
Ces trois commandes sont celles que vos scripts appellent le plus. C'est donc la version où une différence de comportement discrète a le plus de chances d'apparaître dans quelque chose que vous exécutez déjà.
Ce qui a migré, et ce qui avait déjà migré
Les versions précédentes avaient fait le plus facile. OMG! Ubuntu rapporte qu'Ubuntu 26.10, nom de code Stonking Stingray, livre désormais un jeu complet d'utilitaires de base en Rust, dont ls, cat, chmod et du en plus des trois nouvelles venues.
Ubuntu 25.10 a été la première version à livrer les utilitaires en Rust, et elle a aussi fait de sudo-rs l'outil par défaut pour l'élévation de privilèges, selon It's FOSS. Les coreutils sont les petits programmes qui font le travail quotidien d'un système Unix : copier des fichiers, lister des répertoires, changer des permissions. Le projet uutils les réécrit en Rust. Rust empêche des classes entières de bugs mémoire dès la compilation.
L'objectif affiché du projet est que vous ne remarquiez rien. Les versions uutils visent à être des remplacements directs, et traitent tout écart de comportement par rapport à GNU comme un bug.
Pourquoi cp, mv et rm ont attendu
Elles ont été retirées d'Ubuntu 26.04 LTS pour une catégorie de faille précise. OMG! Ubuntu et It's FOSS rapportent tous deux des problèmes de TOCTOU dans les versions uutils. TOCTOU signifie time-of-check to time-of-use : le programme vérifie un fichier, puis agit dessus, et un attaquant change le fichier dans l'intervalle entre ces deux étapes.
Canonical a chargé la société de sécurité Zellic d'auditer le code. It's FOSS rapporte que l'audit s'est déroulé en deux tours entre décembre 2025 et mars 2026, qu'il a trouvé 113 problèmes, et que 44 d'entre eux ont reçu un numéro CVE. Le site indique aussi que la grande majorité a depuis été corrigée.
| Élément | Détail |
|---|---|
| Version | Ubuntu 26.10, Stonking Stingray |
| Migre maintenant | cp, mv, rm |
| Déjà migré | ls, cat, chmod, du, et sudo-rs depuis 25.10 |
| Audit | Zellic, deux tours, déc. 2025 à mars 2026 : 113 problèmes, 44 CVE |
| Retour arrière | Installer le paquet coreutils-from-gnu |
| Dates | Bêta plus tard en septembre 2026, stable le 15 octobre 2026 |
Cet historique d'audit est la raison de traiter ceci comme un vrai changement et non comme un changement cosmétique. Une réécriture des commandes qui suppriment et déplacent des fichiers a récolté 44 CVE avant d'être livrée. C'est un signe rassurant que quelqu'un a regardé. C'est aussi un rappel que ces programmes ne sont pas triviaux.
Ce que cela signifie pour les développeurs
Testez d'abord les scripts qui tournent en root. Ces trois commandes se trouvent dans les étapes postinstall des paquets, dans les tâches de sauvegarde et dans les scripts de déploiement. À ces endroits, une option manquante ou un code de sortie modifié casse une machine au lieu d'afficher un message déroutant. It's FOSS note que certaines options Rust peuvent encore manquer ou se comporter autrement que leurs équivalents GNU. Ce qu'il faut vérifier, ce sont donc vos propres options, pas les cas courants.
Il existe une sortie documentée, et elle tient en un paquet. Installer coreutils-from-gnu remet les versions GNU. Épinglez cela dans la construction de votre image s'il vous faut une version où rien ne change sur ces commandes, et traitez-le comme un plan de retour arrière plutôt que comme une position permanente.
Vos images de CI sont l'endroit où cela vous atteint avant votre portable. Une version intermédiaire comme 26.10 n'est pas ce que font tourner la plupart des parcs de production, mais c'est ce que suivent beaucoup d'images de base de conteneurs et d'exécuteurs de tests. Un pipeline qui dépend silencieusement du comportement GNU échouera là en premier. C'est aussi l'endroit le moins coûteux pour l'apprendre.
Le décalage avec 26.04 LTS est la partie à surveiller. Ces commandes ont été écartées de la LTS, donc les correctifs qui arrivent maintenant sont ce qu'une future LTS héritera. C'est la même direction que Rust devenu langage de premier rang chez Microsoft et que la réécriture en Rust de Mold qui vise l'éditeur de liens par défaut de Linux. Les réécritures arrivent dans les parties d'un système que personne ne choisit d'utiliser.
Sources
Articles liés

Git 3.0 passera à SHA-256 par défaut et exigera Rust
Git 2.56-rc0 est sorti le 11 septembre 2026, et la version 3.0 qui suit fera passer les nouveaux dépôts à SHA-256, à reftable et à la branche main.

La bêta de Fedora 45 remplace la console du noyau par kmscon
Fedora 45 sort la console texte du noyau. Trois outils cessent de fonctionner, la bêta est arrivée le 15 septembre, et fbcon reste en repli automatique.

La réécriture de mold en Rust vise l'éditeur de liens par défaut de Linux
Mold établit les liens 4,9 fois plus vite que LLVM lld. Son auteur le réécrit en Rust et veut que les distributions l'installent comme /usr/bin/ld.