A Rust Coreutils-ben 113 sebezhetőséget fedeztek fel. Az Ubuntu 26.04-be visszatértek a GNU Coreutils cp, mv és rm parancsai.

A Canonical közzétette a Rust Coreutils nevű uutils coreutils eszközkészlet független biztonsági auditjának előzetes eredményeit, amelyet a Rust nyelven írtak, és amelyet részben az Ubuntu GNU Coreutils csomagja helyett használnak. Az auditot a Zellic végezte, amely tapasztalattal rendelkezik a Rust nyelvű projektek sebezhetőségeinek elemzésében. Az ellenőrzés során 113 biztonsági problémát azonosítottak.

A legfontosabb uutils eszközökre kiterjedő audit első szakaszának eredményei már elérhetők (PDF, 156 oldal). Az első szakaszt 2025 decemberétől 2026 januárjáig végezték, amely során 73 sebezhetőséget találtak, ezek közül 7 kritikus, 11 veszélyes, 29 közepes veszélyt jelent és 26 nem veszélyes.

A második audit szakaszt februártól márciusig végezték, és a másodlagos eszközöket vizsgálták, amelyeket az első szakaszban nem ellenőriztek. A második szakasz során 40 sebezhetőséget találtak, a veszélyességükről azonban egyelőre nem áll rendelkezésre részletes információ (a jelentést később tervezik közzétenni). Az összes azonosított probléma információját már átadták az uutils fejlesztőinek, és a sebezhetőségek nagy részét az uutils 0.5-0.8 kiadásaiban csendben orvosolták, anélkül, hogy jelezték volna a javítások kapcsolatát a sebezhetőségekkel.

A rust-coreutils csomagot alapértelmezetten beépítették az Ubuntu 25.10 őszi kiadásába, de a vizsgálat során feltárt problémák figyelembevételével az Ubuntu 26.04 LTS ágon visszatértek a GNU Coreutils csomag cp, mv és rm eszközeihez. Megjegyzik, hogy április 22-i állapot szerint ezekben az eszközökben 8 ismert versengő állapot maradt javítatlan. A többi eszköz a rust-coreutils 0.8.0 kiadásából van. Az Ubuntu 26.10-ben a fejlesztők teljesen át akarnak térni a rust-coreutils használatára.

A rendszerszintű eszközök sebezhetőségei különösen veszélyesek, mivel olyan szkriptekben használják őket, amelyeket root jogosultságokkal futtatnak. Például a uutils coreutils 0.3.0 verziójában javított rm eszköz sebezhetősége kihasználható volt, amikor a cron napi szkriptjei közül a /etc/cron.daily/apport szkriptet a root jogosultságával futtatták, amely rekurszívan törölte a /var/crash mappa tartalmát, amely minden felhasználó számára írásra elérhető.

Az első jelentésben kritikusnak jelölt sebezhetőségek közül:

  • A chroot utility vulnerability caused by processing the "—userspec" option after calling chroot(), but before dropping privileges. On systems with glibc, name resolution through the getpwnam() function leads to reading the file /etc/nsswitch.conf, applied in NSS (Name Service Switch), and dynamically loading the specified NSS library modules (libnss_*.so.2). Since the chroot() call is made before processing NSS, the /etc/nsswitch.conf file is loaded relative to the new root, while the NSS libraries are loaded before dropping privileges. If a user has write access to the new root, they can substitute their NSS libraries and execute code with root privileges.
  • Changing file permissions after a failure to create a named pipe (FIFO) by the mkfifo utility — if an existing file is specified as an argument, mkfifo will return an error, but will not crash, instead calling set_permissions() and changing the permissions of the existing file. Given umask 022, this vulnerability allows changing the file permissions to 644 (rw-r--r--) and gaining access to files that were not readable.
  • Bypassing the "—preserve-root" restrictions in the chmod utility, which prevent recursive operations relative to the root of the filesystem. The vulnerability (CVE-2026-35338) arises because the code only checked for an exact match of the path with " / " and did not perform path canonicalization. To bypass this check, it is sufficient to use a path like " /.. /" or a symbolic link to the root. The vulnerability is dangerous because if it is possible to substitute one's path in a system script calling the chmod command, recursive permission changes can be applied to all files in the filesystem.
  • In the rm utility, processing of any abbreviations for the "—no-preserve-root" option ("—n", "—no", "—no-p", "—no-pres" etc.) was allowed to disable protection against executing recursive operations with the root (for example, specifying "rm -rf —n /" could accidentally delete all data). In GNU Coreutils, such abbreviated options are prohibited.
  • Bypassing the "—preserve-root" restrictions in the rm utility, which prevent recursive operations relative to the root of the filesystem, by substituting a symbolic link to " / ".
  • Lack of proper protection against specifying directories starting with a dot. For example, executing "rm -rf ." will give an error, but specifying "rm -rf . /" or "rm -rf . / / /" will silently delete the current directory.
  • A parsing error in the kill utility allows sending a signal to all processes in the system when specifying the process ID "-1" (kill -1).

In other respects, most vulnerabilities fall under the TOCTOU (Time-Of-Check-To-Time-Of-Use) category, implying the existence of a race condition that can change data between the validation of information and the execution of an operation with it, for example, substituting a file with a symbolic link during the interval between validation and the start of the operation. In the context of using cp and mv utilities in system scripts run with root privileges, such vulnerabilities allow arbitrary files to be copied or overwritten.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster