NPM репозиторийіндегі кез келген бума үшін жаңартуды шығаруға мүмкіндік беретін осалдық

GitHub NPM пакетінің репозиторий инфрақұрылымында екі оқиғаны ашты. 2 қарашада үшінші тараптың қауіпсіздік зерттеушілері (Kajetan Grzybowski және Maciej Piechota) Bug Bounty бағдарламасының бөлігі ретінде NPM репозиторийінде тіркелгіңізді пайдаланып кез келген пакеттің жаңа нұсқасын жариялауға мүмкіндік беретін осалдықтың бар екенін хабарлады, мұндай жаңартуларды орындауға рұқсаты жоқ.

Осалдық NPM сұрауларын өңдейтін микросервис кодындағы рұқсатты дұрыс тексеруден туындады. Авторизация қызметі сұрауда жіберілген деректер негізінде пакет рұқсатын тексеруді орындады, бірақ репозиторийге жаңартуды жүктеп салған басқа қызмет жүктеп салынған буманың метадеректер мазмұны негізінде жариялау үшін буманы анықтады. Осылайша, шабуылдаушы өзінің қол жеткізе алатын бумасының жаңартуын жариялауды сұрай алады, бірақ пакеттің өзінде ең соңында жаңартылатын басқа бума туралы ақпаратты көрсете алады.

Мәселе осалдық туралы хабарланғаннан кейін 6 сағаттан кейін түзетілді, бірақ осалдық NPM жүйесінде телеметрия журналдарына қарағанда ұзағырақ болды. GitHub 2020 жылдың қыркүйегінен бастап бұл осалдықты пайдаланатын шабуылдардың ізі болмағанын мәлімдейді, бірақ бұл мәселе бұрын пайдаланылмағанына кепілдік жоқ.

Екінші оқиға 26 қазанда болған. replicate.npmjs.com сервисінің дерекқорымен техникалық жұмыс жүргізу барысында деректер қорында сыртқы сұрауларға қолжетімді құпия деректердің болуы анықталды, өзгерістер журналында көрсетілген ішкі пакеттердің атаулары туралы ақпарат анықталды. Мұндай атаулар туралы ақпаратты ішкі жобаларға тәуелділік шабуылдарын жүзеге асыру үшін пайдалануға болады (ақпанда ұқсас шабуыл PayPal, Microsoft, Apple, Netflix, Uber және басқа 30 компанияның серверлерінде кодты орындауға мүмкіндік берді).

Сонымен қатар, ірі жобалардың репозиторийлерін ұрлау және зиянды кодты әзірлеушілер тіркелгілерін бұзу арқылы жылжыту жағдайларының көбеюіне байланысты GitHub міндетті екі факторлы аутентификацияны енгізу туралы шешім қабылдады. Өзгеріс 2022 жылдың бірінші тоқсанында күшіне енеді және ең танымал тізімге енгізілген пакеттердің қызметшілері мен әкімшілеріне қатысты болады. Бұдан басқа, зиянды өзгерістерді ерте анықтау үшін пакеттердің жаңа нұсқаларына автоматтандырылған мониторинг және талдау енгізілетін инфрақұрылымды жаңғырту туралы хабарланады.

Еске салайық, 2020 жылы жүргізілген зерттеуге сәйкес, пакетті ұстаушылардың тек 9.27% қол жеткізуді қорғау үшін екі факторлы аутентификацияны пайдаланады, ал 13.37% жағдайда жаңа тіркелгілерді тіркеген кезде әзірлеушілер сайтта пайда болған бұзылған құпия сөздерді қайта пайдалануға тырысады. белгілі құпия сөздің ағып кетуі. Құпия сөз қауіпсіздігін тексеру кезінде NPM тіркелгілерінің 12%-ына (бумалардың 13%-ы) “123456” сияқты болжамды және тривиальды құпия сөздерді пайдалану есебінен қол жеткізілді. Проблемалылардың қатарында ең танымал топ-4 топтаманың 20 пайдаланушы тіркелгісі, айына 13 миллионнан астам жүктеп алынған пакеттері бар 50 тіркелгі, айына 40 миллионнан астам жүктеп алынған 10 және айына 282 миллионнан астам жүктеп алынған 1 тіркелгі болды. Тәуелділіктер тізбегі бойынша модульдердің жүктелуін ескере отырып, сенімсіз тіркелгілердің бұзылуы NPM-дегі барлық модульдердің 52%-ға дейін әсер етуі мүмкін.

Ақпарат көзі: opennet.ru

пікір қалдыру