Google odhaľuje bezpečnostnú chybu na GitHub

Projekt Zero zverejnil podrobnosti o závažnom narušení bezpečnosti na GitHub a hlásia to chyba ovplyvňuje príkazy pracovného toku akcií od GitHub a je opísaný ako veľmi závažný. (Táto chyba bola objavená v júli, ale na základe štandardnej 90-dennej lehoty na zverejnenie boli podrobnosti zverejnené až teraz.)

Táto chyba sa stala jednou z mála zraniteľností, ktorá nebola opravená správne pred vypršaním štandardného 90-dňového časového rámca poskytovaného službou Google Project Zero.

Podľa Felixa Wilhelma (kto to objavil), člen tímu Project Zero, chyba ovplyvňuje funkciu akcií GitHubu, nástroja na automatizáciu práce vývojárov. Je to tak preto, lebo príkazy pracovného toku Action sú „zraniteľné voči injekčným útokom“:

„Akcie Github podporuje funkciu nazvanú príkazy pracovného toku ako komunikačný kanál medzi maklérom akcií a vykonanou akciou. Príkazy pracovného toku sú implementované v / src / Runner.Worker / ActionCommandManager.cs a funguje to tak, že sa analyzuje STDOUT všetkých vykonaných akcií hľadaním jedného z dvoch značiek príkazov.

To uveďte veľkým problémom tejto funkcie je, že je veľmi zraniteľná voči injekčným útokom. Pretože proces vykonávania prehľadáva každý riadok vytlačený v STDOUT, aby vyhľadal príkazy pracovného toku, je každá akcia GitHub, ktorá ako súčasť svojho vykonávania obsahuje nedôveryhodný obsah, zraniteľná.

Vo väčšine prípadov má schopnosť nastaviť ľubovoľné premenné prostredia za následok vzdialené spustenie kódu, akonáhle je spustený iný pracovný tok. Strávil som nejaký čas pozeraním populárnych úložísk GitHubu a takmer každý projekt, ktorý využíva mierne zložité akcie GitHubu, je zraniteľným voči tomuto druhu chyby.

následne, uviedol niekoľko príkladov, ako možno chybu využiť a tiež navrhlo riešenie:

"Naozaj si nie som istý, aký je najlepší spôsob, ako to napraviť." Myslím si, že spôsob implementácie príkazov pracovného toku je v zásade neistý. Odpisovanie syntaxe príkazu v1 a posilnenie set-env zoznamom povolení by pravdepodobne fungovalo proti priamym vektorom RCE.

„Avšak aj schopnosť prekonať„ normálne “premenné prostredia, ktoré sa použijú v ďalších krokoch, je pravdepodobne dostatočná na to, aby sa dali využiť zložitejšie činnosti. Rovnako som neanalyzoval vplyv ostatných ovládacích prvkov v pracovnom priestore na bezpečnosť.

Na druhú stranu, spomenúť, že dobré dlhodobé riešenie bolo by to presunúť príkazy pracovného toku na samostatný kanál (napr. nový deskriptor súborov), aby sa zabránilo analýze programom STDOUT, ale tým sa rozbije veľa existujúcich kódov akcií.

Pokiaľ ide o GitHub, jeho vývojári zverejnili 1. októbra poradenstvo a zastarali zraniteľné príkazy, tvrdili však, že to, čo Wilhelm zistil, bola v skutočnosti „mierna bezpečnostná chyba“. GitHub priradil identifikátor chyby CVE-2020-15228:

„V prostredí runtime Action GitHub bola identifikovaná mierna bezpečnostná chyba, ktorá môže umožniť vkladanie ciest a premenných prostredia do pracovných tokov, ktoré zaznamenávajú nedôveryhodné údaje do STDOUT. To môže viesť k zavedeniu alebo úprave premenných prostredia bez úmyslu autora pracovného toku.

„Aby sme nám pomohli vyriešiť tento problém a umožnili vám dynamicky nastavovať premenné prostredia, predstavili sme novú sadu súborov na spracovanie aktualizácií prostredia a ciest v pracovných tokoch.

„Ak používate sprostredkovateľov, ktorých serverom sú hostia, uistite sa, že sú aktualizovaní na verziu 2.273.1 alebo novšiu.

Podľa Wilhelma 12. októbra Project Zero kontaktoval GitHub a proaktívne im ponúkol 14-denné okno, ak by GitHub chcel viac času na deaktiváciu zraniteľných príkazov. Ponuka bola samozrejme prijatá a GitHub dúfal, že zraniteľné príkazy po 19. októbri deaktivuje. Project Zero potom stanovil nový dátum zverejnenia na 2. novembra.

Fuente: https://bugs.chromium.org


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.