Aller au contenu
La Lettre IT
Retour aux synthèses
3 min de lecture

Ubuntu 26.10 achève la migration de ses utilitaires vers des versions Rust

En bref

  • Ubuntu 26.10 complète le remplacement de ses utilitaires fondamentaux (cp, mv, rm, ls, etc.) par des versions écrites en Rust, y compris trois commandes retardées en 26.04 pour des problèmes de sécurité.
  • Canonical vise à réduire les failles mémoire en migrant du C vers le Rust, qui détecte ces bugs à la compilation.
  • La fondation Trifecta Tech, soutenue à hauteur de 40 k€/an par Canonical, travaille aussi sur une implémentation Rust du protocole NTP.

Ce que dit la source

Canonical présente cette migration comme une amélioration majeure de la sécurité : Rust détecte les bugs mémoire à la compilation, tandis que les compilateurs C ne le font pas. L'éditeur affirme que les utilitaires Rust visent la compatibilité complète avec les versions GNU et traitent tout écart comme un bogue. Trois commandes (cp, mv, rm) avaient été retenues en 26.04 après un audit de sécurité qui avait découvert des problèmes TOCTOU (time-of-check to time-of-use) ; ces problèmes sont maintenant résolus en amont.

  • Déploiement complet en 26.10 : ls, cat, chmod, du et les trois commandes critiques précédemment gelées
  • Audit de sécurité préalable commandé par Canonical sur uutils avant 26.04, qui a révélé les défauts nécessitant correction
  • Canonical sponsor or de la Trifecta Tech Foundation avec un engagement annuel de 40 k€ pour financer le logiciel Rust
  • Migration initiée en 2025 ; sudo en Rust est déjà le défaut en 25.10
  • Prévision d'adoption de Chrony (implémentation NTP en Rust) comme client de synchronisation par défaut en 27.10

Dans les commentaires

Débat divisé et technique : plusieurs commentateurs rapportent des bugs réels (segfault sur rm avec chemins profonds, baisse drastique de performance du dd de 350 MB/s à 30 MB/s), tandis qu'un segment demande une critique plus substantielle et moins idéologique. Scepticisme légitime sur le timing et les priorités.

  • Plusieurs commentateurs signalent des bugs non résolus : collinfunk rapporte un segfault du rm Rust sur des arborescences profondes, linsomniac documente une dégradation de performance extrême du dd (×11) en 26.04 due à des problèmes de buffering
  • Problème de dépendance rapporté : build-essential dépend maintenant de coreutils-from-uutils, bloquant le retour aux utilitaires GNU même en cas de besoin
  • Un commentateur (atoav) appelle de manière constructive à une critique basée sur le code réel plutôt que sur une bataille idéologique Rust vs C
  • Objections philosophiques : hermitShell et d'autres questionnent l'abandon des principes originels du logiciel libre et l'orientation commerciale de Canonical, sans détails techniques précis
  • WatchDog propose Fil-C (C instrumenté avec garanties mémoire fortes) comme alternative ayant moins de problèmes de compatibilité
  • Antécédent inquiétant cité : sudo-rs avait aussi des lacunes d'options manquantes par rapport à l'ancienne implémentation, ce qui n'a pas empêché son déploiement par défaut
  • Un commentateur soulève le risque de chaîne d'approvisionnement : les projets Rust ont typiquement des centaines de dépendances externes, augmentant la surface d'attaque globale

Alternatives citées : Fil-C (C compilé avec instrumentation mémoire), coreutils-from-gnu (version GNU originale, rétrogradable mais compliquée en dépendances), Debian et Linux Mint comme distributions alternatives sans cette migration aggressive.

Notre lecture

Canonical pousse une migration philosophiquement cohérente (mémoire-sécurité en Rust) mais au rythme opérationnel trop rapide. Les bugs rapportés ici ne sont pas des excentricités théoriques : un rm qui segfault sur des chemins profonds et un dd qui perd un facteur 10 en performance sont des régressions fonctionnelles réelles, et le fait que build-essential crée une dépendance l'une vers l'autre rend le retour arrière difficile pour les utilisateurs qui découvrent un problème post-déploiement. L'approche de uutils s'améliore (audit préalable, version bump qui corrige le dd), mais les calendriers de sortie Ubuntu rattrappent la maturation du projet. Pour une distro LTS ou de production, cette agressivité présente un risque : la promesse de sécurité Rust ne vaut que si les outils ne plantent pas ou n'introduisent pas d'appels système mal gérés. À évaluer cas par cas en environnement avant adoption ; pour Ubuntu 26.10 (non-LTS), probablement acceptable comme terrain de test, mais prudence sur le chemin vers 27.x.

Le brief, dans votre boîte mail

Recevez chaque jour la sélection et l'analyse La Lettre IT, sans avoir à repasser sur le site.

  • Un email par jour, synthèse de ce qui compte réellement sur Hacker News
  • Le débat technique décrypté, pas juste résumé, et ce que La Lettre IT en pense
  • Zéro spam, désabonnement en un clic sur chaque email