În Rust Coreutils au fost identificate 113 vulnerabilități. În Ubuntu 26.04 au fost restabilite cp, mv și rm din GNU Coreutils

Compania Canonical a publicat rezultatele preliminare ale unui audit de securitate independent al instrumentarului uutils coreutils (Rust Coreutils), scris în limbajul Rust și utilizat parțial în Ubuntu în locul pachetului GNU Coreutils. Auditul a fost realizat de compania Zellic, care are experiență în analiza vulnerabilităților în proiectele scrise în Rust. În cadrul verificării au fost identificate 113 probleme de securitate.

În prezent, este disponibil raportul (PDF, 156 pagini) cu rezultatele primei etape a auditului, care acoperă cele mai importante utilitare din setul uutils. În prima etapă, desfășurată din decembrie 2025 până în ianuarie 2026, au fost identificate 73 de vulnerabilități, dintre care 7 au fost marcate ca fiind critice, 11 - periculoase, 29 - de severitate medie și 26 - inofensive.

A doua etapă a auditului a fost desfășurată din februarie până în martie și a acoperit utilitare secundare, neverificate în prima etapă. În a doua etapă au fost găsite 40 de vulnerabilități, a căror gravitate nu este deocamdată detaliată (raportul urmează să fie publicat ulterior). Informațiile despre toate problemele identificate au fost deja transmise dezvoltatorilor uutils și o mare parte din vulnerabilități au fost corectate în versiunile uutils 0.5-0.8 fără a fi făcute publice și fără a se menționa legătura între corecturi și eliminarea vulnerabilităților.

Pachetul rust-coreutils a fost inclus implicit în lansarea de toamnă a Ubuntu 25.10, însă având în vedere problemele identificate în cadrul auditului, în ramura LTS a Ubuntu 26.04 au fost readuse utilitarele cp, mv și rm din setul GNU Coreutils. Se menționează că, la data de 22 aprilie, aceste utilitare prezintă încă 8 stări cunoscute de competiție necorectate. Celelalte utilitare sunt utilizate din versiunea rust-coreutils 0.8.0. În Ubuntu 26.10, dezvoltatorii intenționează să treacă complet la rust-coreutils.

Vulnerabilitățile din utilitarele de sistem sunt periculoase deoarece sunt folosite în scripturi care sunt executate cu privilegii de root. De exemplu, vulnerabilitatea eliminată în versiunea uutils coreutils 0.3.0 în utilitarul rm ar fi putut fi exploatată prin rularea zilnică din scriptul cron /etc/cron.daily/apport, care este executat cu privilegii de root și elimină recursiv conținutul directorului /var/crash, accesibil pentru scriere tuturor utilizatorilor din sistem.

Printre vulnerabilitățile marcate în primul raport ca fiind critice:

  • O vulnerabilitate în utilitarul chroot, cauzată de procesarea opțiunii „—userspec” după apelul chroot(), dar înainte de resetarea privilegiilor. Pe sistemele cu glibc, rezolvarea numelui prin funcția getpwnam() duce la citirea fișierului /etc/nsswitch.conf, utilizat în NSS (Name Service Switch), și încărcarea dinamică a bibliotecilor specificate în acesta cu modulele NSS (libnss_*.so.2). Deoarece, înainte de a procesa NSS, se execută apelul chroot(), fișierul /etc/nsswitch.conf este încărcat relativ la noul rădăcină, dar bibliotecile NSS sunt încărcate înainte de resetarea privilegiilor. Dacă utilizatorul are acces la scriere în noua rădăcină, poate introduce propriile biblioteci NSS și poate obține executarea codului cu drepturi root.
  • Schimbarea permisiunilor unui fișier după eșecul creării unui canal numit (FIFO) de către utilitarul mkfifo — dacă se specifică un fișier existent ca argument, mkfifo va returna o eroare, dar nu va închide abrupt utilitarul, ci va apela set_permissions() și va schimba permisiunile fișierului existent. Având în vedere umask 022, vulnerabilitatea permite schimbarea permisiunilor fișierului la 644 (rw-r--r--) și obținerea accesului la fișiere pentru care nu a fost permis citirea.
  • Ocolirea restricțiilor „—preserve-root” în utilitarul chmod, care interzic efectuarea operațiunilor recursive în raport cu rădăcina FS. Vulnerabilitatea (CVE-2026-35338) este cauzată de faptul că în cod se verifica doar potrivirea exactă a căii cu „/” și nu se efectua canonizarea căii fișierului. Pentru a ocoli verificarea, este suficient să se folosească o cale de tip „/../” sau un link simbolic către rădăcină. Vulnerabilitatea este periculoasă, deoarece, având posibilitatea de a introduce propria cale într-un script sistemic care invocă comanda chmod, se poate obține modificarea recursive a permisiunilor pentru toate fișierele din FS.
  • În utilitarul rm se permitea procesarea oricăror prescurtări ale opțiunii „—no-preserve-root” („—n”, „—no”, „—no-p”, „—no-pres” etc.) pentru a dezactiva protecția împotriva efectuării operațiunilor recursive cu rădăcina (de exemplu, se poate specifica „rm -rf —n /” și se pot șterge din greșeală toate datele. În GNU Coreutils, astfel de opțiuni prescurtate sunt interzise.
  • Ocolirea restricțiilor „—preserve-root” în utilitarul rm, care interzic efectuarea operațiunilor recursive în raport cu rădăcina FS, prin substituirea unui link simbolic către „/”.
  • Lipsa unei protecții complete împotriva specificării directorilor care încep cu punct. De exemplu, atunci când se execută „rm -rf .”, utilitarul va returna o eroare, dar când se specifice „rm -rf ./” sau „rm -rf .///”, va șterge într-un mod tăcut directorul curent.
  • Eroare în codul de analiză al argumentelor utilitarului kill permite trimiterea semnalului către toate procesele din sistem atunci când se specifică identificatorul de proces „-1” (kill -1).

În rest, cea mai mare parte a vulnerabilităților se încadrează în clasa TOCTOU (Time-Of-Check-To-Time-Of-Use), care implică o stare de competiție care permite modificarea datelor în momentul după ce informația a fost validată, dar înainte de a fi efectuată operația cu aceasta, de exemplu, înlocuirea unui fișier cu un link simbolic în momentul în care se finalizează verificarea și se începe executarea operației. În contextul utilizării utilitarelor cp și mv în script-uri de sistem rulate cu drepturi de root, asemenea vulnerabilități permit copierea sau suprascrierea fișierelor arbitrare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster