Në menaxherin e paketave Guix janë zbuluar dobësi (CVE nuk janë emëruar) në implementimin e komandës së brendshme "guix substitute", e cila thirret automatikisht nga procesi i prapambetjes guix-daemon gjatë kryerjes së operacioneve të instalimit të paketave. Kjo komandë përdoret për të shkarkuar paketa binarë të ndërtuara tashmë nga servera të jashtëm, duke verifikuar integritetin e tyre me anë të nënshkrimit digjital. Dobësia më e rrezikshme lejon ekzekutimin e kodit në sistemin e përdoruesit në mënyrë të largët me të drejtat nën të cilat funksionon procesi i prapambetjes guix-daemon.
Problemi prek tĂ« gjitha konfigurimet me procesin guix-daemon, pavarĂ«sisht nĂ«se ekzekutohet me tĂ« drejta root apo nĂ«n njĂ« pĂ«rdorues pa privilegje. PĂ«r shfrytĂ«zimin e dobĂ«sisĂ« mjafton çdo pĂ«rpjekje pĂ«r tĂ« shkarkuar paketa binare tĂ« gatshme nga serverĂ«, i kontrolluar nga sulmuesi. NĂ« kĂ«tĂ« rast, server nuk Ă«shtĂ« e nevojshme tĂ« zgjedhet ose tĂ« specifikohet qartĂ« nĂ« cilĂ«simet e pĂ«rdoruesit â mund tĂ« pĂ«rcaktohet me anĂ« tĂ« opsionit "âdiscover", i cili lejon zĂ«vendĂ«simin e serverit gjatĂ« njĂ« sulmi MITM. NĂ« konfigurimet ku guix-daemon Ă«shtĂ« nisur me privilegje tĂ« rritura, njĂ« pĂ«rdorues lokal mund tĂ« kryejĂ« njĂ« sulm nĂ«se ka mundĂ«sinĂ« tĂ« lidhet me procesin nĂ« prapambetje pĂ«rmes njĂ« unix socket (i cili, pĂ«r default, Ă«shtĂ« i disponueshĂ«m pĂ«r tĂ« gjithĂ« pĂ«rdoruesit).
Dobësia është e pranishme në përpunuesin "restore-file", i cili përdoret për të shërbyer ndërsa paketa ngarkohet, pa pritur ngarkimin dhe gjithëverifikimin e arkivit të ngarkuar me anë të nënshkrimit digjital. Problemi shkaktohet nga mungesa e verifikimit të pranishmërisë së karaktereve ".", "\/" dhe ".." në rrugët e skedarëve të vendosur në arkiv. Përmes zëvendësimit të emrave të skedarëve jo të saktë në arkiv, sulmuesi mund të arrijë të shkruajë një skedar të rastësishëm në çdo zonë të sistemit të skedarëve, në përputhje me privilegjet nën të cilat funksionon procesi guix-daemon.
Për të organizuar ekzekutimin e kodit të tij në sistem, për shembull, mund të shtohet një skenar që startohet automatikisht, si "~\/ .bashrc" ose "~\/ .profile", ose të modifikohet skedari "~\/ .ssh\/authorized_keys" me çelësat SSH. Nëse në një sistem me shumë përdorues guix-daemon ekzekutohet nën përdoruesin root, sulmuesi mund të rishkruajë skedarin me fjalëkalimat ose skenarët e sistemit.
Mundësia për të krijuar serverë të rremë për shpërndarjen e paketave keqdashëse u shkaktua nga fakti se procedura e shkarkimit të metadata-ve (narinfo) për paketat binare të disponueshme (fetch-narinfos) nuk verifikonte certifikatën e serverit, duke u mbështetur te fakti që pjesa kryesore e metadata-ve nënshkruhet në mënyrë dixhitale. Siç rezultoi, nënshkrimi nuk e përfshinte URL-në për shkarkimin e paketës, gjë që lejonte zëvendësimin e saj pa cenuar integritetin e metadata-ve. Në fund, paketa e rreme do të refuzohej për shkak se nuk kalonte verifikimin e përmbajtjes së saj sipas hash-it të vërtetuar me nënshkrim dixhital, por kjo verifikim kryhej pas fazës së shpaketimit, ku shfaqej problemi me simbolet speciale në emrat e skedarëve.
PĂ«rveç komandĂ«s «guix substitute», procesori i prekshĂ«m «restore-file» Ă«shtĂ« aktivizuar nĂ« funksionimin e komandave «guix offload», «guix archive âextract» dhe «guix challenge», pĂ«rmes tĂ« cilave gjithashtu mund tĂ« shfrytĂ«zohet dobĂ«sia. Si njĂ« mĂ«nyrĂ« pĂ«r tĂ« bllokuar dobĂ«sinĂ«, rekomandohet shprehja e qartĂ« e opsionit «âno-substitutes» nĂ« tĂ« gjitha komandat guix. Zgjidhja e dobĂ«sisĂ« Ă«shtĂ« pranuar nĂ« bazĂ«n koduese tĂ« Guix. PĂ«rdoruesve u rekomandohet tĂ« instalojnĂ« menjĂ«herĂ« pĂ«rditĂ«simet e formuluara nga zhvilluesit e guix dhe guix-daemon.
Përveç problemit të përmendur, në Guix janë eliminuar edhe tre cenueshmëri të tjera:
- Mundësia e zëvendësimit të paketave binare për shkak të mungesës së verifikimit të përputhshmërisë midis paketës së kërkuar dhe metadata-ve të kthyera në përpunuesin fetch-narinfos. Cenueshmëria mund të përdoret për të dorëzuar një version të vjetëruar të paketës së kërkuar, i cili përmban cenueshmëri.
- PĂ«rcaktimi i pĂ«rmbajtjes sĂ« rreshtit tĂ« parĂ« tĂ« skedarĂ«ve tĂ« rastĂ«sishĂ«m nĂ« sistem pĂ«rmes dĂ«rgimit tĂ« njĂ« kĂ«rkese nga pĂ«rdoruesi lokal me URI «file://» («âsubstitute-urls file:///etc/shadow»). NĂ«se guix-daemon ekzekutohet me privilegjet e root, ai do tĂ« lexojĂ« skedarin e kĂ«rkuar, do tĂ« pĂ«rcaktojĂ« se ai nuk Ă«shtĂ« metadatĂ« dhe do tĂ« shfaqĂ« njĂ« gabim, nĂ« tekstin e tĂ« cilit do tĂ« pĂ«rmendet rreshti qĂ« nuk u desh tĂ« interpretohej.
- Përcaktimi i një emri të jashtëm të depozitës të formatuar veçmas («../../../newfile») gjatë kryerjes së komandave «guix pull» dhe «guix time-machine» lejon shkruan të dhëna me informacionin e komit në një skedar ekzistues në sistemin e skedarëve, nëse përmbajtja e tij përngjan me një listë rreshtash në gjuhën Scheme. Dobësia mund të përdoret për sulme DoS, por nuk përjashtohet që përmes manipulimeve të ndërlikuara me pseudo-FS /proc të arrihen manipulime më të rrezikshme me sistemin.
Burimi: opennet.ru
