A Google felfed egy biztonsági hibát a GitHubon

A Project Zero közzétette a GitHub súlyos biztonsági megsértésének részleteit és arról beszámolnak a hiba befolyásolja a művelet munkafolyamat-parancsait a GitHub-tól, és nagy súlyosságúnak minősül. (Ezt a hibát júliusban fedezték fel, de a szokásos 90 napos nyilvánosságra hozatali időszak alatt a részleteket csak most tették közzé.)

Ez a hiba a kevés hiányosság közé vált, amelyet nem javítottak a Google Project Zero által biztosított szokásos 90 napos időkeret lejárta előtt.

Felix Wilhelm szerint (aki felfedezte), a Project Zero csapat tagja, a hiba a fejlesztők munkájának automatizálására szolgáló eszköz, a GitHub cselekvési funkcióját érinti. Ennek oka, hogy az Actions munkafolyamat-parancsok "sérülékenyek az injekciós támadásokkal szemben":

„Műveletek A Github támogatja az úgynevezett munkafolyamat-parancsokat, mint kommunikációs csatornát az Action közvetítő és a végrehajtott művelet között. A munkafolyamat-parancsok az / src / Runner.Worker / ActionCommandManager.cs fájlban vannak végrehajtva, és úgy működik, hogy az összes végrehajtott művelet STDOUT-ját elemzi a két parancsjel egyikének megkeresésével.

Említse meg ennek a funkciónak a nagy problémája, hogy nagyon sérülékeny az injekciós támadásokkal szemben. Mivel a végrehajtási folyamat minden, az STDOUT-ban kinyomtatott sor után kutat munkafolyamat-parancsok után, minden olyan GitHub-művelet sérülékeny, amely nem megbízható tartalmat tartalmaz a végrehajtás részeként.

A legtöbb esetben az önkényes környezeti változók beállításának képessége távoli kódfuttatást eredményez, amint egy másik munkafolyamat fut. Némi időt töltöttem a népszerű GitHub-tárak nézegetésével, és szinte minden olyan projekt, amely kissé összetett GitHub-műveleteket használ, kiszolgáltatott az ilyen hibáknak.

Ezt követően, néhány példát adott a hiba kihasználására és megoldást is javasolt:

- Tényleg nem vagyok biztos abban, hogy mi a legjobb módszer a javításra. Úgy gondolom, hogy a munkafolyamat-parancsok végrehajtásának módja alapvetően bizonytalan. A v1 parancs szintaxisának elértéktelenítése és a setet-env engedélyezési listával való megerősítése valószínűleg a közvetlen RCE vektorokkal szemben működne.

„Azonban a későbbi lépésekben használt„ normál ”környezeti változók felülbírálásának képessége is valószínűleg elég a bonyolultabb műveletek kiaknázásához. Nem elemeztem a munkaterület többi vezérlőjének biztonsági hatását sem.

Másrésztmegemlíti, hogy jó hosszú távú megoldás A munkafolyamat-parancsok külön csatornára (pl. Egy új fájlleíró) történő áthelyezése lenne az STDOUT általi elemzés elkerülése érdekében, de ez sok létező műveleti kódot meg fog törni.

Ami a GitHubot illeti, a fejlesztői október 1-jén kiküldtek egy tanácsadót, és megszüntették a sérülékeny parancsokat, de azzal érveltek, hogy amit Wilhelm talált, az valójában "mérsékelt biztonsági rés". A GitHub hozzárendelte a CVE-2020-15228 hibajazítót:

„A GitHub Actions futásidejében közepes biztonsági rést azonosítottak, amely lehetővé teheti az utak és környezeti változók befecskendezését olyan munkafolyamatokba, amelyek nem megbízható adatokat naplóznak az STDOUT-ba. Ez a környezeti változók bevezetéséhez vagy módosításához vezethet a munkafolyamat-író szándéka nélkül.

„Annak érdekében, hogy segítsen nekünk megoldani ezt a problémát, és lehetővé tegye a környezeti változók dinamikus beállítását, új fájlkészletet vezettünk be a munkafolyamatok környezeti és útvonal-frissítéseinek kezelésére.

„Ha önállóan üzemeltetett brókereket használ, ellenőrizze, hogy frissítették-e őket a 2.273.1 vagy újabb verzióra.

Wilhelm szerint október 12-én a Zero projekt felvette a kapcsolatot a GitHub-szal, és proaktívan felajánlotta nekik a 14 napos határidőt, ha a GitHub több időt szeretne a sebezhető parancsok letiltására. Természetesen az ajánlatot elfogadták, és a GitHub abban reménykedett, hogy október 19-e után letiltja a sérülékeny parancsokat. A Project Zero ezután november 2-re tűzte ki az új közzétételi dátumot.

forrás: https://bugs.chromium.org


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.