Guixi paketihalduris avastatud haavatavus, mis vĂ”imaldab sĂŒsteemis kaugkoodi tĂ€itmist

Paketihaldur Guixis avastati haavatavused (CVE-d ei ole mÀÀratud) sisetöötluskomandi «guix substitute» teostuses, mille kutsub automaatselt esile taustaprotsess guix-daemon pakettide installimise operatsioonide kĂ€igus. Komandat kasutatakse juba kokku pandud binaarpaketide allalaadimiseks vĂ€listelt serveritelt, kontrollides nende terviklikkust digitaalallkirja abil. KĂ”ige ohtlikum haavatavus vĂ”imaldab kaugtasandilt koodi tĂ€itmist kasutaja sĂŒsteemis Ă”igustes, milles taustaprotsess guix-daemon töötab.

Probleem puudutab kĂ”iki konfiguratsioone, kus töötab guix-daemon, olenemata sellest, kas see kĂ€ivitatakse root-Ă”igustes vĂ”i madala prioriteediga kasutaja all. Haavatavuse Ă€rakasutamiseks piisab igasugusest katsest alla laadida valmis binaarpakette, serverilt, mis on rĂŒndaja kontrolli all. Samuti ei pea pahavara tingimata olema selgelt valitud vĂ”i mÀÀratud kasutaja seadetes — see vĂ”ib mÀÀrata valiku „—discover“ abil, mis vĂ”imaldab serveri asendamist MITM-rĂŒnnaku kĂ€igus. Konfiguratsioonides, kus guix-daemon töötab kĂ”rgendatud Ă”igustes, vĂ”ib kohalikke kasutajaid rĂŒnnata, kui on vĂ”imalik ĂŒhenduda taustaprotsessiga Unix-soketi kaudu (mis on vaikimisi kĂ”igile kasutajatele saadaval). server Haavatavus on olemas «restore-file» töötlejas, mida kasutatakse paketi allalaadimise ajal lahtipakkimiseks, ootamata faili tĂ€ielikku allalaadimist ja allalaaditud arhiivi digitaalallkirja verifitseerimist. Probleem tuleneb kontrolli puudumisest, kas arhiivis olevates failiteedes on sĂŒmboleid «.», «/» ja «..». RĂŒndaja saab vigaste failinimede kaudu arhivisse asendusi lisades saavutada suvalise faili kirjutamise igasse failisĂŒsteemi piirkonda, kuivĂ”rd lubavad Ă”igused, milles taustaprotsess guix-daemon töötab.

Oma koodi tĂ€itmiseks sĂŒsteemis, nĂ€iteks, saab lisada automaatselt kĂ€ivitava skripti, nagu «~/.bashrc» vĂ”i «~/.profile», vĂ”i muuta faili «~/.ssh/authorized_keys» SSH vĂ”tmetega. Kui guix-daemon töötatakse mitme kasutajaga sĂŒsteemis root-kasutaja all, vĂ”ib rĂŒndaja ĂŒle kirjutada paroolifaili vĂ”i sĂŒsteemiskripte.

SĂŒsteemi koodi kĂ€ivitamiseks saab nĂ€iteks lisada automaatselt kĂ€ivitatava skripti, nagu «~/.bashrc» vĂ”i ~/.profile, vĂ”i muuta faili ~/.ssh/authorized_keys SSH vĂ”tmete jaoks. Kui mitme kasutajaga sĂŒsteemis guix-daemon töötab root kasutajana, vĂ”ib rĂŒndaja ĂŒle kirjutada paroolifaili vĂ”i sĂŒsteemis skripte.

Tehniline vÔimalus luua valetserversid pahatahtlike paketide edastamiseks tulenes sellest, et metaandmete (narinfo) laadimise protseduur saadaolevate binaarsete pakettide (fetch-narinfos) kohta ei kontrollinud serveri sertifikaati, toetudes sellele, et peamine osa metaandmetest on allkirjastatud digitaalselt. Selgus, et allkiri ei hÔlmanud paketi laadimise URL-i, mis vÔimaldas selle asendada, rikkumata metaandmete terviklikkust. LÔppkokkuvÔttes oleks vale pakett kÔrvaldada, kuna see ei vastanud selle sisu hash-kontrollile, mis oli digitaalselt allkirjastatud, kuid see kontroll toimus pÀrast lahtipakkimise etappi, kus ilmnes probleem erimÀrkide kasutamisel failinimedes.

Lisaks kĂ€sule „guix substitute” on haavatav töötlus „restore-file” kaasatud kĂ€skude „guix offload”, „guix archive —extract” ja „guix challenge” tööle, mille kaudu on samuti vĂ”imalik haavatavust Ă€ra kasutada. Üks vĂ”imalus haavatavuse blokeerimiseks on selgelt mÀÀrata valik „—no-substitutes” kĂ”igis guix-i kĂ€skudes. Haavatavuse parandamine on lisatud Guixi koodibaasi. Kasutajatele soovitatakse viivitamatult installida arendajate loodud guix ja guix-daemon uuendused.

Peale tuvastatud probleemi on Guixis lahendatud veel kolm haavatavust:

  • VĂ”imalus asendada binaarpakette seetĂ”ttu, et puudub kontroll, kas taotletud pakett vastab tagastatud metaandmetele töötluses fetch-narinfos. Haavatavust saab kasutada vananenud versiooni tagastamiseks, mis sisaldab haavatavusi.
  • SoumisesĂŒsteemi ĂŒkskĂ”iksete failide esimese rea sisu mÀÀramine kohaliku kasutaja esitatud pĂ€ringu kaudu URI „file://” („—substitute-urls file:///etc/shadow”). Kui guix-daemonit kĂ€itatakse root-Ă”igustega, loeb see taotletud faili, mÀÀrab, et see ei ole metaandmed ja genereerib vea, mille tekstis mainitakse rida, mida ei Ă”nnestunud tĂ”lgendada.
  • Spetsiaalselt vormindatud vĂ€lisrepo nime («..../..../..../..../newfile») nĂ€itamine kĂ€skude "guix pull" ja "guix time-machine" tĂ€itmisel vĂ”imaldab salvestada andmeid commit’i teabe kohta suvalisse olemasolevasse faili failisĂŒsteemis, kui selle sisu meenutab Scheme'i keeles ridade loendit. Haavatavust saab kasutada DoS-rĂŒnnakute jaoks, kuid ei saa vĂ€listada, et tarkade manipuleerimistega pseudosĂŒsteemi "/proc" kaudu on vĂ”imalik saavutada sĂŒsteemi veel ohtlikumaid manipulatsioone.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster