A sebezhetőség lehetővé tette, hogy frissítést adjunk ki bármilyen csomagra az NPM tárolójában.

A GitHub bejelentette, hogy két incidens történt az NPM csomagrepository-infrastruktúrájában. November 2-án külső biztonsági kutatók (Kajetan Grzybowski és Maciej Piechota) a Bug Bounty program keretében tájékoztatták az NPM repository-jában egy sebezhetőségről, amely lehetővé tette, hogy bárki közzétegyen egy új verziót bármely csomagról a saját, nem jogosult fiókjával.

A sebezhetőség a mikroszervizek kódjának nem megfelelő jogosultságellenőrzéséből adódott, amelyek az NPM-höz érkező kéréseket kezelik. Az engedélyezési szolgáltatás a csomagokhoz való hozzáférést a kérésben átadott adatok alapján ellenőrizte, de egy másik szolgáltatás, amely az frissítést töltötte fel a repository-ba, a közzétenni kívánt csomagot a feltöltött csomag metadatumaiban található információ alapján határozta meg. Így a támadó kérheti frissítés közzétételét a saját csomagjához, amelyhez hozzáférése van, de megadhat egy másik csomag információit a csomagban, amely végül frissítve lenne.

A problémát 6 órával azután orvosolták, hogy információ érkezett a sebezhetőségről, de a sebezhetőség hosszabb ideig fennállt az NPM-ben, mint ahogy a telemetriai naplók lefedik. A GitHub állítása szerint szeptembere óta nem észleltek nyomokat a sebezhetőséggel végrehajtott támadásokról, de nincs garancia arra, hogy a probléma korábban nem lett kihasználva.

A második incidens október 26-án történt. A replicate.npmjs.com szolgáltatás adatbázisának technikai munkái során kiderült, hogy a kívülről elérhető adatbázisban bizalmas adatok voltak, melyek belső csomagok neveit felfedték, amelyeket a változásnapló említett. Az ilyen nevek információi a belső projektek függőségeivel történő támadásokhoz használhatók (februárban egy ilyen támadás lehetővé tette a kód végrehajtását a PayPal, Microsoft, Apple, Netflix, Uber és további 30 cég számára). szervereken PayPal, Microsoft, Apple, Netflix, Uber és még 30 másik cég.

Továbbá, a jelentős számú nagy projektek repozitóriumainak megszerzésére és a fejlesztői fiókok kompromittálásán keresztül terjedő rosszindulatú kódok miatt a GitHub úgy döntött, hogy kötelezővé teszi a kétfaktoros azonosítást. A változás 2022 első negyedévében lép életbe, és a legnépszerűbbek listáján szereplő csomagok karbantartóira és adminisztrátoraira vonatkozik. Továbbá a hírek szerint az infrastruktúra modernizálására került sor, amelyben automatizált megfigyelést és új csomagok változásainak elemzését vezetik be a rosszindulatú változások korai észlelésére.

Ne feledjük, hogy a 2020-ban végzett kutatás szerint csupán 9,27% a csomagok karbantartóinak használja a kétfaktoros azonosítást a hozzáférés védelmére, és 13,37% esetében a fejlesztők a fiókregisztrációk során megpróbálták újra felhasználni a kompromittált jelszavakat, amelyek a szivárgásokban szerepeltek. A használt jelszavak megbízhatóságának ellenőrzése során 12% hozzáférést sikerült szerezni az NPM fiókokból (13% csomagok) olyan előrejelezhető és triviális jelszavak miatt, mint a '123456'. A problémás felhasználói fiókok között volt 4 a 20 legnépszerűbb csomagból, 13, amelyek több mint 50 millió letöltést generáltak havonta, 40, amelyek több mint 10 millió letöltést értek el havonta, és 282, amelyek havonta több mint 1 millió letöltést kaptak. Figyelembe véve a modulok láncolati letöltését, a megbízhatatlan fiókok kompromittálása összesen akár 52%-a is lehetett az NPM összes moduljának.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster