Në bazën e paketave të shpërndarjes Ubuntu 26.10, publikimi i së cilës është planifikuar për 15 tetor, është kryer kalimi i plotë në paketën e mjeteve uutils coreutils (Rust Coreutils), e shkruar në gjuhën Rust. Mjetet nga Rust Coreutils kanë zëvendësuar plotësisht të gjithë përbërësit e paketës GNU Coreutils, përfshirë programet cp, mv dhe rm, të cilat në Ubuntu 26.04 furnizoheshin në variantin nga GNU Coreutils.
Paketa rust-coreutils fillimisht u pĂ«rfshi si parazgjedhje nĂ« versionin Ubuntu 25.10, por nĂ« degĂ«n LTS tĂ« Ubuntu 26.04 u bĂ« rikthimi te pĂ«rdorimi i programeve cp, mv dhe rm nga paketa GNU Coreutils. Variantet cp, mv dhe rm u rikthyen pĂ«r shkak tĂ« problemeve tĂ« sigurisĂ« tĂ« zbuluara gjatĂ« auditimit tĂ« bazĂ«s sĂ« kodit tĂ« Rust Coreutils. Shumica e cenueshmĂ«rive nĂ« Rust Coreutils shkaktohen nga prania e njĂ« race condition, qĂ« lejon ndryshimin e tĂ« dhĂ«nave nĂ« intervalin mes verifikimit tĂ« saktĂ«sisĂ« sĂ« informacionit dhe ekzekutimit tĂ« veprimit mbi to (TOCTOU â Time-Of-Check-To-Time-Of-Use). NdĂ«r tĂ« tjera, cenueshmĂ«ri tĂ« tilla bĂ«jnĂ« tĂ« mundur zĂ«vendĂ«simin e njĂ« skedari me njĂ« lidhje simbolike nĂ« intervalin mes pĂ«rfundimit tĂ« kontrollit dhe fillimit tĂ« ekzekutimit tĂ« operacionit.
Në kontekstin e përdorimit të programeve cp, mv dhe rm në skriptet e sistemit që ekzekutohen me të drejta root, zëvendësimi me një lidhje simbolike krijon mundësinë për të kopjuar, mbishkruar ose fshirë skedarë arbitrarë. Për shembull, gjatë fshirjes rekursive të direktorive, programi rm fillimisht kontrollonte të gjitha direktoritë dhe më pas i fshinte ato njëra pas tjetrës në rend të kundërt, duke thirrur funksionin rmdir(). Nëse drejtoria prind zëvendësohet me një lidhje simbolike menjëherë pas kontrollit të kësaj direktorie, por përpara kontrollit të direktorive bijë të përfshira në të, mund të arrihet fshirja e çdo direktorie në sistem gjatë ekzekutimit të përditshëm nga cron të skriptit /etc/cron.daily/apport, i cili duke punuar me të drejta root fshin në mënyrë rekursive përmbajtjen e direktorise /var/crash, ku të gjithë përdoruesit e sistemit kanë të drejtë shkrimi.
Burimi: opennet.ru
