Explicamos por qué el cambio masivo a otro idioma no salió como se esperaba.

El nuevo lanzamiento de Ubuntu aún no ha salido, y ya se ha desarrollado una historia curiosa relacionada con la ciberseguridad. Los desarrolladores decidieron revisar de antemano uno de los componentes clave del sistema — y los resultados fueron bastante inesperados.
La empresa Canonical encargó una auditoría independiente de Rust Coreutils — conjunto de utilidades básicas reescritas en Rust. La revisión la realizó el equipo Zellic. Resultado — 113 problemas detectados, incluidas decenas de vulnerabilidades con identificadores CVE. Según el autor del informe Ravi Kant Sharma, gran parte de los errores encontrados ya se corrigieron.
Se trata del reemplazo de las clásicas GNU Coreutils — conjunto de herramientas como cp, mv y rm — por una implementación más segura en Rust. Este cambio debía reducir el riesgo de errores típicos de gestión de memoria. Sin embargo, la auditoría mostró que la nueva implementación aún no se ha librado de todos los puntos débiles.
En Ubuntu 26.04 LTS se utiliza la versión Rust Coreutils 0.8, en la que se incluyeron la mayoría de las correcciones. Al mismo tiempo, algunas utilidades clave siguen siendo las de GNU Coreutils. La razón son problemas no resueltos del tipo TOCTOU, relacionados con la discrepancia entre la comprobación del estado y el uso posterior de los datos. Ese tipo de vulnerabilidades puede abrir la puerta a ataques al trabajar con el sistema de archivos.
En Ubuntu no ocultan que la versión actual es solo una etapa intermedia. Los desarrolladores esperan llevar el proyecto a la sustitución completa de GNU Coreutils para la versión 26.10. Para entonces, se espera que los problemas restantes estén corregidos y que la nueva implementación sea la base del sistema.
El informe detallado de Zellic aún no se ha publicado por completo, pero ya está claro que la transición a Rust resultó más difícil de lo esperado. Al mismo tiempo, la estrategia sigue siendo la misma: sustituir gradualmente los componentes críticos por análogos más seguros sin romper la estabilidad del sistema.