Katika hifadhidata ya kifurushi cha usambazaji Ubuntu 26.10, iliyopangwa kutolewa Oktoba 15, inaashiria mpito kamili hadi kwenye zana ya zana ya uutils coreutils (Rust Coreutils), iliyoandikwa kwa lugha ya Rust. Huduma za Rust Coreutils zimebadilisha kabisa vipengele vyote vya kifurushi cha GNU Coreutils, ikiwa ni pamoja na huduma za cp, mv, na rm, ambazo Ubuntu 26.04 zilitolewa katika toleo la GNU Coreutils.
Kifurushi cha rust-coreutils kilijumuishwa hapo awali kwa chaguo-msingi katika toleo Ubuntu 25.10, lakini katika tawi la LTS Ubuntu Mnamo Aprili 26.04, huduma za cp, mv, na rm kutoka kwa seti ya GNU Coreutils zilirejeshwa. Chaguzi hizi zilirejeshwa kutokana na masuala ya usalama yaliyogunduliwa wakati wa ukaguzi wa msingi wa msimbo wa Rust Coreutils. Udhaifu mwingi katika Rust Coreutils husababishwa na hali za mbio, ambazo huruhusu data kubadilishwa baada ya taarifa kuthibitishwa lakini kabla ya operesheni kufanywa (TOCTOU — Time-Of-Check-To-Time-Of-Use). Miongoni mwa mambo mengine, udhaifu huo huruhusu faili kubadilishwa na kiungo cha ishara kati ya kukamilika kwa ukaguzi na kuanza kwa operesheni.
Unapotumia huduma za cp, mv, na rm katika hati za mfumo zinazoendeshwa na haki za mizizi, kubadilisha kiungo cha ishara huruhusu faili holela kunakiliwa, kuandikwa tena, au kufutwa. Kwa mfano, wakati wa kufuta saraka kwa kurudiarudia, huduma ya rm kwanza ilichanganua saraka zote na kisha kuzifuta kwa mpangilio wa kinyume kwa kupiga kitendakazi cha rmdir(). Kwa kubadilisha kiungo cha ishara kwa saraka kuu mara tu baada ya kuchanganua saraka hiyo, lakini kabla ya kuchanganua saraka zake za watoto, unaweza kufuta saraka yoyote kwenye mfumo wakati hati ya cron ya /etc/cron.daily/apport inaendeshwa kila siku. Ikifanya kazi kama mzizi, hati hufuta kwa kurudiarudia yaliyomo kwenye saraka ya /var/crash, ambayo inaweza kuandikwa na watumiaji wote kwenye mfumo.
Chanzo: opennet.ru
