Google paljastaa GitHubin tietoturva-aukon

Project Zero julkaisi tiedot vakavasta tietoturvaloukkauksesta GitHubissa ja he ilmoittavat siitä virhe vaikuttaa toimintojen työnkulun komentoihin GitHubista ja sitä kuvataan erittäin vakavaksi. (Tämä virhe havaittiin heinäkuussa, mutta tavallisen 90 päivän julkistamisjakson aikana yksityiskohdat on julkaistu vasta nyt.)

Tästä virheestä tuli yksi harvoista haavoittuvuuksista, joita ei korjattu oikein, ennen kuin Google Project Zeron myöntämä 90 päivän tavallinen aikataulu umpeutui.

Felix Wilhelmin mukaan (kuka löysi sen), Project Zero -tiimin jäsen, virhe vaikuttaa kehittäjien työn automatisointityökalun GitHubin toimintoihin. Tämä johtuu siitä, että Actions-työnkulun komennot ovat "alttiita injektiohyökkäyksille":

"Toiminnot Github tukee työnkulun komentoja kutsuttua ominaisuutta tiedonsiirtokanavana Action-välittäjän ja suoritetun toiminnon välillä. Työnkulun komennot toteuttaa runner / src / Runner.Worker / ActionCommandManager.cs, ja se toimii jäsentämällä STDOUT kaikista toiminnoista etsimällä yksi kahdesta komentomerkistä.

Mainitse se tämän ominaisuuden suuri ongelma on, että se on hyvin alttiina injektiohyökkäyksille. Koska suoritusprosessi etsii jokaisesta STDOUTissa tulostetusta rivistä työnkulkukomentoja, kaikki GitHub-toiminnot, jotka sisältävät epäluotettavaa sisältöä osana suoritustaan, ovat haavoittuvia.

Useimmissa tapauksissa kyky asettaa mielivaltaisia ​​ympäristömuuttujia johtaa koodin etäsuorittamiseen heti, kun toinen työnkulku on käynnissä. Olen viettänyt jonkin aikaa katsomassa suosittuja GitHub-arkistoja, ja melkein kaikki projektit, jotka käyttävät hieman monimutkaisia ​​GitHub-toimintoja, ovat alttiita tällaiselle virheelle.

myöhemmin, antoi joitain esimerkkejä siitä, kuinka virhettä voitiin hyödyntää ja ehdotti myös ratkaisua:

"En todellakaan ole varma, mikä on paras tapa korjata se. Mielestäni tapa, jolla työnkulun komennot toteutetaan, on pohjimmiltaan epävarmaa. V1-komentosyntaksin poistaminen käytöstä ja vahvistaminen-env sallimisluettelolla toimisi todennäköisesti suoria RCE-vektoreita vastaan.

"Jopa kyky ohittaa myöhemmissä vaiheissa käytetyt" normaalit "ympäristömuuttujat kuitenkin todennäköisesti riittää monimutkaisempien toimintojen hyödyntämiseen. En ole myöskään analysoinut muiden työtilan hallintalaitteiden turvallisuusvaikutuksia.

lisäksi, mainitse hyvä pitkäaikainen ratkaisu Työnkulun komennot olisi siirrettävä erilliselle kanavalle (esim. Uusi tiedostokuvaaja), jotta vältetään jäsentäminen STDOUTin kautta, mutta tämä rikkoo paljon olemassa olevaa toimintakoodia.

Mitä GitHubiin tulee, sen kehittäjät lähettivät neuvonnan 1. lokakuuta ja hylkäsivät haavoittuvat komennot, mutta väittivät, että Wilhelmin havaitsema oli itse asiassa "kohtalainen tietoturva-aukko". GitHub antoi virheen tunnisteen CVE-2020-15228:

"GitHub Actions -ajoajasta on havaittu kohtalainen tietoturva-aukko, joka voi sallia polkujen ja ympäristömuuttujien injektoinnin työnkulkuihin, jotka kirjaavat epäluotettavia tietoja STDOUT-palveluun. Tämä voi johtaa ympäristömuuttujien käyttöönottoon tai muokkaamiseen ilman työnkulun tekijän tarkoitusta.

"Autamme meitä ratkaisemaan tämän ongelman ja antamaan sinulle mahdollisuuden määrittää dynaamisesti ympäristömuuttujia. Olemme ottaneet käyttöön uuden tiedostojoukon, joka käsittelee ympäristö- ja polkupäivityksiä työnkulkuissa.

"Jos käytät itse isännöimiä välittäjiä, varmista, että ne on päivitetty versioon 2.273.1 tai uudempaan.

Wilhelmin mukaan Project Zero otti 12. lokakuuta yhteyttä GitHubiin ja tarjosi ennakoivasti 14 päivän ajanjaksoa, jos GitHub halusi enemmän aikaa poistaa haavoittuvat komennot. Tarjous hyväksyttiin tietysti, ja GitHub toivoi poistavan haavoittuvat komennot käytöstä 19. lokakuuta jälkeen. Project Zero asetti sitten uuden julkistamispäivän 2. marraskuuta.

lähde: https://bugs.chromium.org


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.