A Composerben egy biztonsági rést azonosítottak, amely veszélyezteti a Packagist PHP adattárat

Pár napja hír érkezett arról, hogy kritikus sebezhetőséget azonosítottak en a függőségkezelő Összeállít (CVE-2021-29472), amely lehetővé teszi tetszőleges parancsok futtatását a rendszeren, amikor egy speciálisan kialakított URL-értékű csomagot dolgozunk fel, amely meghatározza a forráskód letöltésének irányát.

A probléma a GitDriver, a SvnDriver és a HgDriver komponensekben nyilvánul meg a Git, a Subversion és a Mercurial forrásvezérlő rendszerekkel együtt használják. A biztonsági rést az 1.10.22 és a 2.0.13 zeneszerző verzióiban javították.

Különösen a Composer alapértelmezett Packagist csomagtárháza, amely 306.000 1.400 PHP fejlesztői csomagot tartalmaz és havonta több mint XNUMX milliárd letöltést kínál.

A PHP ökoszisztémában a Composer a fő eszköz a szoftverfüggőségek kezelésére és telepítésére. A fejlesztői csapatok világszerte használják a frissítési folyamat megkönnyítésére és annak biztosítására, hogy az alkalmazások könnyedén fussanak minden környezetben és verzióban.

A kísérlet azt mutatta, hogy ha volt információ a problémáról, a támadók átvehették az irányítást a Packagist infrastruktúra felett, és elfogták a karbantartók hitelesítő adatait, vagy átirányíthatták a csomagok letöltését egy külső szerverre, a változtatásokkal megszervezhették a csomagváltozatok kézbesítését. rosszindulatú felhasználók a hátsó ajtó cseréjére a függőség telepítése során.

A végfelhasználókat fenyegető veszély korlátozott annak a ténynek köszönhető, hogy a composer.json tartalmát általában a felhasználó határozza meg, és a forráshoz vezető linkek átkerülnek a harmadik féltől származó, általában megbízható adattárak elérésekor. A fő csapás a Packagist.org adattárra és a Private Packagist szolgáltatásra esett, hogy felhívja a Composert a felhasználóktól kapott adatok átadásával. A támadók egy speciálisan kialakított csomag eldobásával futtathatták kódjukat a Packagist szervereken.

A Packagist csapata az értesítéstől számított 12 órán belül megoldotta a biztonsági rést kiszolgáltatottság. A kutatók április 22-én magánkézben értesítették a Packagist fejlesztőket, és a problémát még aznap megoldották. A sérülékenység javításával közzétett nyilvános Composer frissítést április 27-én tették közzé, a részleteket pedig április 28-án árulták el. A Packagist szerverein található naplók ellenőrzése nem tárt fel gyanús tevékenységet a biztonsági réshez kapcsolódóan.

Az argumentum-injektálási hibák egy igazán érdekes hibakategória, amelyeket a kódellenőrzések során gyakran figyelmen kívül hagynak, és a fekete doboz interakcióiban teljesen figyelmen kívül hagyják.

A problémát az URL érvényesítési kód hibája okozza a root composer.json fájlban és a forrás letöltési hivatkozásokban. A hiba 2011 novembere óta van jelen a kódban. A Packagist speciális rétegeket használ a kódletöltések kezeléséhez anélkül, hogy egy adott forrásvezérlő rendszerhez lenne kötve, amelyet a "fromShellCommandline" parancssori argumentumokkal történő meghívásával hajtanak végre.

A probléma lényege, hogy a ProcessExecutor metódus lehetővé tette további hívásparaméterek megadását az URL-ben. Ilyen menekülés hiányzott a GitDriver.php, a SvnDriver.php és a HgDriver.php illesztőprogramokból. A GitDriver.php támadást nehezítette, hogy a "git ls-remote" parancs nem támogatta további argumentumok megadását az elérési út után.

A HgDriver.php elleni támadás úgy volt lehetséges, hogy a "–config" paramétert átadta a "hq" segédprogramnak, amely lehetővé teszi bármely parancs végrehajtásának megszervezését az "alias.identify" konfiguráció manipulálásával.

Azzal, hogy egy hasonló URL-t tartalmazó tesztcsomagot küldött a Packagistnak, a kutatók megbizonyosodtak arról, hogy a kiszolgáló közzététele után HTTP-kérést kapott az AWS egyik Packagist szerverétől, amely tartalmazza az aktuális könyvtár fájljainak listáját.

Meg kell jegyezni, hogy a karbantartók nem azonosították a sérülékenység előzetes kihasználásának jeleit a csomagolók nyilvános példányaiban.

Végül, ha érdekel, hogy többet tudjon meg róla, olvassa el a részleteket A következő linken.


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: AB Internet Networks 2008 SL
  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.