Guixi pakettihalduris on haavatavus, mis vĂ”imaldab kaugkoodi tĂ€itmist sĂŒsteemis

Guix'i pakettihalduse työkalussa on havaittu haavoittuvuuksia (CVE-tunnuksia ei ole mÀÀritetty) sisÀisen "guix substitute" -komennon toteutuksessa. TÀmÀ komento kutsutaan automaattisesti taustaprosessista guix-daemon pakettiasennusoperaatioiden yhteydessÀ. Komentoa kÀytetÀÀn jo koottujen binaaripakettien lataamiseen ulkoisilta palvelimilta ja niiden eheys tarkistetaan digitaalisen allekirjoituksen avulla. Vaarallisin haavoittuvuus mahdollistaa etÀkÀytettÀvÀn koodin suorittamisen kÀyttÀjÀn jÀrjestelmÀssÀ niillÀ kÀyttöoikeuksilla, joilla taustaprosessi guix-daemon toimii.

Ongelma koskee kaikkia konfiguraatioita, joissa on guix-daemon-prosessi, riippumatta siitĂ€, kĂ€ynnistetÀÀnkö se root-oikeuksilla tai epĂ€privilegioidulla kĂ€yttĂ€jĂ€llĂ€. Haavoittuvuuden hyödyntĂ€miseksi riittÀÀ mikĂ€ tahansa yritys ladata valmiita binaaripaketteja serverile, hyökkÀÀjĂ€n hallitsemalta palvelimelta. TĂ€ssĂ€ tapauksessa haitallinen server ei pea olema selgelt valitud ega kasutaja seadetes mÀÀratletud — see vĂ”ib mÀÀrata valiku kaudu „—discover“, mis vĂ”imaldab serveri asendamist MITM-rĂŒnde kĂ€igus. Konfiguratsioonides, kus guix-daemon töötab kĂ”rgendatud privileegidega, vĂ”ib kohalik kasutaja rĂŒnnata, kui tal on vĂ”imalus ĂŒhendada taustprotsessiga Unix-soketiga (vaikimisi on see ĂŒldiselt kĂ”igile kasutajatele saadaval).

Haavatavus esineb „restore-file“ töötlejas, mis rakendab paketi lahtipakkimist selle laadimise kĂ€igus, oodates kuni pakett on tĂ€ielikult laaditud ja allkirjastatud arhiivi verifitseeritud. Probleem tuleneb puudulikest kontrollidest failiteede osas, kus esinevad sĂŒmbolid „.”, „/” ja „..” arhiivis. Valefailinimedega arhiivi asendamine vĂ”ib vĂ”imaldada rĂŒndajal kirjutada juhuslikku faili igasse failisĂŒsteemi piirkonda, sĂ”ltuvalt Ă”igustest, millega guix-daemon taustprotsessina töötab.

Koodi tĂ€itmise korraldamiseks sĂŒsteemis vĂ”ite nĂ€iteks lisada automaatselt kĂ€ivitatava skripti, nagu "~/.bashrc" vĂ”i "~/.profile", vĂ”i muuta faili "~/.ssh/authorized_keys" SSH vĂ”tmete jaoks. Kui mitu kasutajat jagavad sĂŒsteemi, vĂ”ib rĂŒndaja ĂŒle kirjutada paroolide faili vĂ”i sĂŒsteemi skriptid, kui guix-daemon töötab root-kasutajana.

Asjade loomisvĂ”ime tagamine pahavara levitamiseks tuleneb sellest, et metaandmete (narinfo) laadimisprotsess, mis puudutab kergesti kĂ€ttesaadavaid binaarpakette (fetch-narinfos), ei kontrollinud serveri sertifikaati, toetudes sellele, et enamik metaandmetest on allkirjastatud digitaalselt. Nagu selgus, ei hĂ”lmanud allkiri paketi laadimise URL-i, mis vĂ”imaldas seda muuta ilma metaandmete terviklikkust rikkumata. LĂ”puks oleks vale pakett kĂ”rvale heidetud, kuna selle sisu ei lĂ€binud digitaalselt allkirjastatud rippmenĂŒĂŒsse, kuid seda kontrollimist tehti pĂ€rast failide lahtipakkimist, kus ilmnes probleem erimĂ€rkidega failinimistest.

Lisaks kĂ€sule „guix substitute“ on haavatav kĂ€itleja „restore-file“ aktiivne ka kĂ€skude „guix offload“, „guix archive —extract“ ja „guix challenge“ puhul, mille kaudu saab haavatavust samuti Ă€ra kasutada. Haavatavuse blokeerimiseks soovitatakse selgelt mÀÀrata valik „—no-substitutes“ kĂ”igis guix kĂ€skudes. Haavatavuse parandus on lisatud Guixi koodibaasi. Kasutajatele soovitatakse viivitamatult paigaldada arendajate koostatud guix ja guix-daemon uuendused.

Lisaks mainitud probleemile on Guixis kÔrvaldatud veel kolm haavatavust:

  • Binaarpakettide asendamise vĂ”imalus, kuna puudub kontroll, kas kĂŒsitud pakett vastab tagastatud metainformatsioonile kĂ€sitlejas fetch-narinfos. Haavatavust saab kasutada, et edastada vananenud versioon kĂŒsitud paketist, mis sisaldab haavatavusi.
  • Prindimise sisu esimese rea suvalistest failidest sĂŒsteemis kohaliku kasutaja URI-ga "file://" olema esitatud pĂ€ringuga ("—substitute-urls file:////etc/shadow"). Kui guix-daemon töötab root-Ă”igustega, loeb see taotletud faili, tuvastab, et see ei ole metaandmed ja vĂ€ljastab veateate, kus mainitakse rida, mida ei Ă”nnestunud analĂŒĂŒsi allutada.
  • Eriti vormindatud vĂ€lise repositooriumi nime ("../../../newfile") esitamine kĂ€skude "guix pull" ja "guix time-machine" tĂ€itmisel vĂ”imaldab salvestada andmeid, mis sisaldavad commit-infot, suvalisse olemasolevasse faili failisĂŒsteemis, kui selle sisu sarnaneb Scheme'i keeles ridade nimekirjaga. Haavatavust saab kasutada DoS-rĂŒnnakute jaoks, kuid ei ole vĂ€listatud, et lĂ€bi kavalate manipuleerimiste pseudofailisĂŒsteemiga /proc on vĂ”imalik saavutada veelgi ohtlikumaid sĂŒsteemi manipuleerimisi.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster