„Google“ atskleidžia „GitHub“ saugumo trūkumą

„Project Zero“ išleido išsamią informaciją apie rimtą „GitHub“ saugumo pažeidimą ir jie apie tai praneša klaida turi įtakos veiksmo darbo eigos komandoms iš „GitHub“ ir apibūdinamas kaip labai sunkus. (Ši klaida buvo rasta liepos mėnesį, tačiau remiantis standartiniu 90 dienų informacijos atskleidimo laikotarpiu, išsami informacija buvo paskelbta tik dabar.)

Šis trūkumas tapo vienu iš nedaugelio trūkumų, kurie nebuvo pašalinti tinkamai nepasibaigus standartiniam „Google Project Zero“ suteiktam 90 dienų terminui.

Pasak Felikso Vilhelmo (kas tai atrado), „Project Zero“ komandos narys, trūkumas paveikia „GitHub Actions“ funkciją - įrankį, kuris automatizuoja kūrėjų darbą. Taip yra todėl, kad „Actions“ darbo eigos komandos yra „pažeidžiamos injekcijos atakų“:

„Veiksmai„ Github “palaiko funkciją, vadinamą darbo eigos komandomis, kaip komunikacijos kanalą tarp„ Action “brokerio ir įvykdyto veiksmo. Darbo eigos komandos yra įdiegtos aplanke / src / Runner.Worker / ActionCommandManager.cs ir veikia analizuojant STDOUT visus veiksmus, atliktus ieškant vieno iš dviejų komandų žymeklių.

Paminėk tai didelė šios funkcijos problema yra ta, kad ji yra labai pažeidžiama injekcijos atakų. Kadangi vykdymo procesas nuskaito visas eilutes, atspausdintas programoje STDOUT, ar nėra darbo eigos komandų, kiekvienas „GitHub“ veiksmas, kurio vykdymo metu yra nepatikimo turinio, yra pažeidžiamas.

Daugeliu atvejų galimybė nustatyti savavališkus aplinkos kintamuosius sukelia nuotolinį kodo vykdymą, kai tik veikia kita darbo eiga. Aš kurį laiką praleidau žiūrėdamas į populiarias „GitHub“ saugyklas, o beveik bet kuris projektas, kuriame naudojami šiek tiek sudėtingi „GitHub“ veiksmai, yra pažeidžiama šios rūšies klaidų.

Vėliau pateikė keletą pavyzdžių, kaip klaidą būtų galima išnaudoti ir taip pat pasiūlė sprendimą:

„Aš tikrai nesu tikras, kaip geriausia ją išspręsti. Manau, kad darbo eigos komandų įgyvendinimas yra iš esmės nesaugus. V1 komandų sintaksės nuvertinimas ir „set-env“ sustiprinimas leidimų sąrašu tikriausiai veiktų prieš tiesioginius RCE vektorius.

„Tačiau net ir galimybės nepaisyti„ įprastų “aplinkos kintamųjų, naudojamų vėlesniuose žingsniuose, tikriausiai pakanka norint išnaudoti sudėtingesnius veiksmus. Taip pat neanalizavau kitų darbo srities valdiklių poveikio saugumui.

Kita vertus, paminėti, kad geras ilgalaikis sprendimas Būtų perkelti darbo eigos komandas į atskirą kanalą (pvz., Naują failo aprašą), kad būtų išvengta analizavimo pagal STDOUT, tačiau tai sulaužys daugybę esamų veiksmų kodų.

Kalbant apie „GitHub“, jo kūrėjai spalio 1 d. Paskelbė patarimą ir pasmerkė pažeidžiamas komandas, tačiau teigė, kad tai, ką nustatė Vilhelmas, iš tikrųjų yra „vidutinis saugumo pažeidžiamumas“. „GitHub“ priskyrė klaidos identifikatorių CVE-2020-15228:

„„ GitHub Actions “vykdymo metu buvo nustatytas vidutinis saugumo pažeidžiamumas, kuris gali leisti kelius ir aplinkos kintamuosius įšvirkšti į darbo eigą, į kurią STDOUT registruojami nepatikimi duomenys. Tai gali sukelti aplinkos kintamųjų įvedimą ar modifikavimą be darbo eigos autoriaus intencijos.

„Norėdami padėti mums išspręsti šią problemą ir leisti dinamiškai nustatyti aplinkos kintamuosius, pristatėme naują rinkinį rinkmenų, skirtų tvarkyti aplinkos ir kelio atnaujinimus darbo eigose.

„Jei naudojatės tarpininkais, kuriuos patys prižiūrite, įsitikinkite, kad jie atnaujinti į 2.273.1 ar naujesnę versiją.

Pasak Wilhelmo, spalio 12 d. „Project Zero“ susisiekė su „GitHub“ ir aktyviai pasiūlė jiems 14 dienų langą, jei „GitHub“ norėtų daugiau laiko išjungti pažeidžiamas komandas. Žinoma, pasiūlymas buvo priimtas ir „GitHub“ tikėjosi išjungti pažeidžiamas komandas po spalio 19 d. Tada „Project Zero“ nustatė naują informacijos atskleidimo datą - lapkričio 2 d.

Fuente: https://bugs.chromium.org


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.