Խոցելիություն pac-resolver NPM փաթեթում՝ շաբաթական 3 միլիոն ներբեռնումներով

Pac-resolver NPM փաթեթը, որն ունի շաբաթական ավելի քան 3 միլիոն ներբեռնում, ունի խոցելիություն (CVE-2021-23406), որը թույլ է տալիս իր JavaScript կոդը գործարկել հավելվածի համատեքստում՝ Node.js նախագծերից HTTP հարցումներ ուղարկելիս: աջակցում է վստահված սերվերի ավտոմատ կազմաձևման գործառույթը:

Pac-resolver փաթեթը վերլուծում է PAC ֆայլերը, որոնք ներառում են վստահված անձի ավտոմատ կազմաձևման սցենար: PAC ֆայլը պարունակում է կանոնավոր JavaScript կոդ FindProxyForURL ֆունկցիայով, որը սահմանում է վստահված անձի ընտրության տրամաբանությունը՝ կախված հոսթից և պահանջվող URL-ից: Խոցելիության էությունն այն է, որ այս JavaScript կոդը pac-resolver-ում գործարկելու համար օգտագործվել է Node.js-ում տրամադրված VM API-ն, որը թույլ է տալիս JavaScript կոդը կատարել V8 շարժիչի այլ համատեքստում:

Նշված API-ն բացահայտորեն նշված է փաստաթղթերում որպես չնախատեսված անվստահելի կոդ գործարկելու համար, քանի որ այն չի ապահովում գործարկվող կոդի ամբողջական մեկուսացումը և թույլ է տալիս մուտք գործել սկզբնական համատեքստ: Խնդիրը լուծվել է pac-resolver 5.0.0-ում, որը տեղափոխվել է vm2 գրադարան օգտագործելու համար, որն ապահովում է մեկուսացման ավելի բարձր մակարդակ, որը հարմար է անվստահելի կոդ գործարկելու համար:

Խոցելիություն pac-resolver NPM փաթեթում՝ շաբաթական 3 միլիոն ներբեռնումներով

Pac-resolver-ի խոցելի տարբերակ օգտագործելիս հարձակվողը հատուկ նախագծված PAC ֆայլի փոխանցման միջոցով կարող է հասնել իր JavaScript կոդի կատարմանը Node.js-ի միջոցով նախագծի կոդի համատեքստում, եթե այս նախագիծն օգտագործում է կախվածություն ունեցող գրադարաններ: pac-լուծիչով: Խնդրահարույց գրադարաններից ամենահայտնին Proxy-Agent-ն է, որը նշված է որպես կախվածություն 360 նախագծերից, ներառյալ urllib, aws-cdk, mailgun.js և firebase-tools-ը, ընդհանուր առմամբ շաբաթական ավելի քան երեք միլիոն ներբեռնումներ:

Եթե ​​հավելվածը, որն ունի կախվածություն pac-լուծիչից, բեռնում է PAC ֆայլը, որը տրամադրվում է մի համակարգի կողմից, որն աջակցում է WPAD վստահված անձի ավտոմատ կազմաձևման արձանագրությանը, ապա տեղական ցանց մուտք գործած հարձակվողները կարող են օգտագործել վստահված անձի կարգավորումների բաշխումը DHCP-ի միջոցով՝ PAC-ի վնասակար ֆայլեր տեղադրելու համար:

Source: opennet.ru

Добавить комментарий