Die Firma Canonical hat die vorlĂ€ufigen Ergebnisse eines unabhĂ€ngigen Sicherheitsaudits des uutils coreutils (Rust Coreutils) veröffentlicht, das in der Programmiersprache Rust geschrieben ist und teilweise in Ubuntu anstelle des GNU Coreutils-Pakets verwendet wird. Das Audit wurde von Zellic durchgefĂŒhrt, einem Unternehmen, das Erfahrung in der Analyse von SicherheitsanfĂ€lligkeiten in Projekten in der Programmiersprache Rust hat. WĂ€hrend der ĂberprĂŒfung wurden 113 Sicherheitsprobleme festgestellt.
Der Bericht (PDF, 156 Seiten) mit den Ergebnissen der ersten Auditphase, die die wichtigsten Dienstprogramme aus dem uutils-Set abdeckt, ist derzeit verfĂŒgbar. In der ersten Phase, die von Dezember 2025 bis Januar 2026 durchgefĂŒhrt wurde, wurden 73 SicherheitsanfĂ€lligkeiten festgestellt, von denen 7 als kritisch, 11 als gefĂ€hrlich, 29 als von mittlerem Risiko und 26 als unbedenklich eingestuft wurden.
Die zweite Auditphase fand von Februar bis MĂ€rz statt und umfasste sekundĂ€re Dienstprogramme, die in der ersten Phase nicht ĂŒberprĂŒft wurden. In der zweiten Phase wurden 40 SicherheitsanfĂ€lligkeiten gefunden, deren GefĂ€hrlichkeit derzeit nicht detailliert wird (der Bericht soll spĂ€ter veröffentlicht werden). Informationen ĂŒber alle festgestellten Probleme wurden bereits an die Entwickler von uutils weitergeleitet, und der GroĂteil der SicherheitsanfĂ€lligkeiten wurde in den Versionen uutils 0.5-0.8 ohne öffentliche Bekanntmachung und Kennzeichnung der Korrekturen in Bezug auf die Behebung von Schwachstellen behoben.
Das Paket rust-coreutils wurde standardmĂ€Ăig in der Herbstversion von Ubuntu 25.10 integriert, aber aufgrund der wĂ€hrend des Audits festgestellten Probleme wurden in der LTS-Zweig von Ubuntu 26.04 die Dienstprogramme cp, mv und rm aus dem GNU Coreutils-Set zurĂŒckgebracht. Es wird festgestellt, dass am 22. April 8 bekannte Race Conditions in diesen Dienstprogrammen unbehoben bleiben. Die anderen Dienstprogramme stammen aus der Version rust-coreutils 0.8.0. In Ubuntu 26.10 beabsichtigen die Entwickler, vollstĂ€ndig auf rust-coreutils umzusteigen.
SicherheitsanfĂ€lligkeiten in Systemdienstprogrammen sind gefĂ€hrlich, weil sie in Skripten verwendet werden, die mit Root-Rechten ausgefĂŒhrt werden. Beispielsweise hĂ€tte eine in der Version uutils coreutils 0.3.0 behobene Schwachstelle im Dienstprogramm rm bei tĂ€glichen AusfĂŒhrungen aus dem Cron-Skript /etc/cron.daily/apport ausgenutzt werden können, das mit Root-Rechten ausgefĂŒhrt wird und rekursiv den Inhalt des Verzeichnisses /var/crash löscht, das fĂŒr alle Benutzer im System beschreibbar ist.
Unter den in dem ersten Bericht als kritisch gekennzeichneten SicherheitsanfÀlligkeiten:
- Eine Schwachstelle im chroot-Utility, verursacht durch die Verarbeitung der Option ââuserspecâ nach dem Aufruf von chroot(), aber vor dem Privilegienverlust. Auf Systemen mit glibc fĂŒhrt die Namensauflösung ĂŒber die Funktion getpwnam() zum Lesen der Datei /etc/nsswitch.conf, die in NSS (Name Service Switch) verwendet wird, und zu dynamischem Laden der darin angegebenen Bibliotheken mit NSS-Modulen (libnss_*.so.2). Da der Aufruf von chroot() vor der Verarbeitung durch NSS erfolgt, wird die Datei /etc/nsswitch.conf relativ zum neuen Root geladen, jedoch werden die NSS-Bibliotheken vor dem Privilegienverlust geladen. Wenn der Benutzer Schreibzugriff auf das neue Root hat, kann er seine eigenen NSS-Bibliotheken einfĂŒgen und Code mit Root-Rechten ausfĂŒhren.
- Ănderung der Dateiberechtigungen nach dem Fehlschlagen der Erstellung einer benannten Pipe (FIFO) durch das mkfifo-Utility - wenn eine vorhandene Datei als Argument angegeben wird, gibt mkfifo einen Fehler zurĂŒck, beendet jedoch nicht das Programm und ruft set_permissions() auf, um die Berechtigungen der vorhandenen Datei zu Ă€ndern. Unter BerĂŒcksichtigung von umask 022 ermöglicht die Schwachstelle, die Berechtigungen der Datei auf 644 (rw-r--r--) zu Ă€ndern und Zugriff auf Dateien zu erhalten, fĂŒr die keine Leserechte gewĂ€hrt wurden.
- Umgehung der BeschrĂ€nkungen ââpreserve-rootâ im chmod-Utility, die die AusfĂŒhrung rekursiver Operationen im Verzeichnisbaum des Root-FS verbieten. Die Schwachstelle (CVE-2026-35338) entsteht dadurch, dass im Code nur eine exakte Ăbereinstimmung des Pfades mit â/â ĂŒberprĂŒft wird und keine Normalisierung des Dateipfads erfolgt. Um die ĂberprĂŒfung zu umgehen, genĂŒgt es, einen Pfad wie â/../â oder einen symbolischen Link zum Root zu verwenden. Diese Schwachstelle ist gefĂ€hrlich, da sie es ermöglicht, einen eigenen Pfad in ein Systemskript einzufĂŒgen, das den Befehl chmod aufruft, und dadurch die Berechtigungen fĂŒr alle Dateien im FS rekursiv zu Ă€ndern.
- Im rm-Utility wurde die Verarbeitung von beliebigen AbkĂŒrzungen der Option ââno-preserve-rootâ (âânâ, âânoâ, ââno-pâ, ââno-presâ usw.) zugelassen, um den Schutz vor der Rekursion von Operationen im Root zu deaktivieren (beispielsweise kann ârm -rf ân /â angegeben werden, was alle Daten versehentlich löscht). In GNU Coreutils sind solche verkĂŒrzten Optionen verboten.
- Umgehung der BeschrĂ€nkungen ââpreserve-rootâ im rm-Utility, die die AusfĂŒhrung rekursiver Operationen im Verzeichnisbaum des Root-FS verbieten, durch die Verwendung eines symbolischen Links auf â/â.
- Fehlende vollstĂ€ndige SchutzmaĂnahmen gegen das Angeben von Verzeichnissen, die mit einem Punkt beginnen. Beispielsweise zeigt die AusfĂŒhrung von ârm -rf .â einen Fehler an, aber bei Angabe von ârm -rf ./â oder ârm -rf .///â werden lautlos das aktuelle Verzeichnis und dessen Inhalte gelöscht.
- Ein Fehler im Code zur Analyse der Argumente des Tools kill ermöglicht es, ein Signal an alle Prozesse im System zu senden, wenn die Prozess-ID â-1â angegeben wird (kill -1).
Im Ăbrigen beziehen sich die meisten SicherheitsanfĂ€lligkeiten auf die Klasse TOCTOU (Time-Of-Check-To-Time-Of-Use), die das Vorhandensein eines Rennens impliziert, bei dem Daten nach der ĂberprĂŒfung der Korrektheit der Informationen, jedoch vor der DurchfĂŒhrung einer Operation mit ihnen, geĂ€ndert werden können, zum Beispiel durch den Austausch einer Datei gegen einen symbolischen Link zwischen Abschluss der ĂberprĂŒfung und Beginn der DurchfĂŒhrung der Operation. Im Kontext der Verwendung der Tools cp und mv in Systemskripten, die mit Root-Rechten ausgefĂŒhrt werden, ermöglichen solche Schwachstellen das Kopieren oder Ăberschreiben beliebiger Dateien.
Quelle: opennet.ru
