Udhaifu katika kifurushi cha NPM cha nodi-netmask kinachotumika katika miradi elfu 270

Kifurushi cha node-netmask NPM, ambacho kina vipakuliwa takriban milioni 3 kwa wiki na hutumika kama tegemezi kwa miradi zaidi ya elfu 270 kwenye GitHub, kina hatari (CVE-2021-28918) ambayo inaruhusu kupitisha ukaguzi unaotumia netmask. ili kubainisha tukio la masafa ya anwani au kuchuja. Suala hilo limewekwa katika kutolewa kwa node-netmask 2.0.0.

Udhaifu huu hufanya iwezekane kutibu anwani ya IP ya nje kama anwani kutoka kwa mtandao wa ndani na kinyume chake, na kwa mantiki fulani ya kutumia moduli ya nodi-netmask katika programu kutekeleza SSRF (kughushi ombi la upande wa Seva), RFI. (Ujumuishaji wa Faili za Mbali) na LFI (Ujumuishaji wa Faili za Ndani) ili kufikia rasilimali kwenye mtandao wa ndani na kujumuisha faili za nje au za ndani katika msururu wa utekelezaji. Shida ni kwamba kulingana na uainishaji, maadili ya kamba ya anwani kuanzia na sifuri inapaswa kufasiriwa kama nambari za octal, lakini moduli ya nodi-netmask haizingatii hii na inawachukulia kama nambari za decimal.

Kwa mfano, mshambulizi anaweza kuomba rasilimali ya ndani kwa kubainisha thamani "0177.0.0.1", ambayo inalingana na "127.0.0.1", lakini moduli ya "node-netmask" itatupa ubatili, na kuchukulia 0177.0.0.1β€³ kama " 177.0.0.1", ambayo katika maombi wakati wa kutathmini sheria za ufikiaji, haitawezekana kuamua utambulisho na "127.0.0.1". Vile vile, mshambuliaji anaweza kubainisha anwani "0127.0.0.1", ambayo inapaswa kufanana na "87.0.0.1", lakini itachukuliwa kama "127.0.0.1" katika moduli ya "node-netmask". Vile vile, unaweza kudanganya hundi ya ufikiaji wa anwani za intraneti kwa kubainisha thamani kama vile "012.0.0.1" (sawa na "10.0.0.1", lakini itachakatwa kama 12.0.0.1 wakati wa kuangalia).

Watafiti waliogundua tatizo hilo wanaita tatizo hilo kuwa janga na kutoa matukio kadhaa ya mashambulizi, lakini mengi yao yanaonekana kuwa ya kubahatisha. Kwa mfano, inazungumzia uwezekano wa kushambulia programu-msingi ya Node.js ambayo huanzisha miunganisho ya nje ili kuomba rasilimali kulingana na vigezo au data ya ombi la uingizaji, lakini programu haijatajwa jina au maelezo mahususi. Hata ukipata programu zinazopakia rasilimali kulingana na anwani za IP zilizoingizwa, haijulikani kabisa jinsi athari inaweza kutumika bila kuunganishwa kwenye mtandao wa ndani au bila kupata udhibiti wa anwani za IP za "kioo".

Watafiti huchukulia tu kuwa wamiliki wa 87.0.0.1 (Telecom Italia) na 0177.0.0.1 (Brasil Telecom) wanaweza kukwepa kizuizi cha ufikiaji hadi 127.0.0.1. Hali ya uhalisia zaidi ni kutumia uwezekano wa kukwepa orodha mbalimbali za vizuizi vya upande wa programu. Tatizo linaweza pia kutumika katika kushiriki ufafanuzi wa safu za intraneti katika moduli ya NPM "private-ip".

Chanzo: opennet.ru

Kuongeza maoni