U nuglaanshaha cdnjs ee oggolaaday fulinta koodka adeegayaasha Cloudflare

Nuglaanta halista ah ayaa lagu aqoonsaday shabakada gudbinta nuxurka cdnjs ee Cloudflare, kaas oo loogu talagalay in lagu dedejiyo gaarsiinta maktabadaha JavaScript, taas oo u ogolaanaysa fulinta kood aan sabab lahayn ee adeegayaasha CDN. Khatarta dhibaatada waxaa sii xumeynaya xaqiiqda ah in 12.7% dhammaan bogagga internetka ay isticmaalaan adeegga si ay u soo dejiyaan maktabadaha JavaScript, iyo tanaasulka kaabayaasha ayaa suurtogal ka dhigaya in la beddelo maktabadaha ay bixiyaan mid ka mid ah goobahan.

Adeegga cdnjs wuxuu ka soo dejiyaa xirmooyinka Git ama kaydka NPM, ka dib waxay u oggolaanaysaa goob kasta inay isticmaasho shabakadda gudbinta nuxurka Cloudflare lacag la’aan si ay u dedejiso rarista maktabadaha JavaScript. Marka la baranayo koodka qaybaha cdnjs ee lagu daabacay GitHub, waxaa daaha laga qaaday in si loo furo xirmooyinka NPM ee kaydka tgz, moduleka caadiga ah ee kaydka/tarabka ee luqadda Go la isticmaalo, kaas oo soo saara liiska faylalka sida uu yahay, iyada oo aan caadi loo dhigin waddooyinka . Haddii ay dhacdo in qoraalku uu furo waxyaalaha ku salaysan liiska la bixiyay, joogitaanka kaydka faylalka sida "../../../. u horseedo in lagu beddelo faylalka aan sharciga ahayn ee nidaamka, illaa iyo inta xuquuqaha gelitaanka ay oggol yihiin.

Waxaa la soo jeediyay in qofka weerarka geystay uu soo gudbin karo codsi ku saabsan in maktabaddiisa lagu daro cdnjs oo uu soo geliyo kayd si gaar ah loo nashqadeeyay oo ay ku jiraan faylal "../" oo ku jira waddada loo maro kaydka NPM. Server-yada cdnjs-ka, hawlgalka "autoupdate" ayaa si marmar ah loo sameeyaa, inta lagu guda jiro kaas oo maamuluhu soo dejiyo nuucyada cusub ee maktabadda la soo jeediyay oo uu furayo waxa ku jira. Isticmaalka faylalka leh dariiqyada "../", weeraryahanku wuxuu ku qori karaa faylasha qoraallada adeegga wuxuuna ku fulin karaa koodka server-ka kaas oo lagu sameeyay xirxirid.

Marka laga hadlayo soo dejinta cusboonaysiinta Git, waxaa la ogaaday in maamulaha soo dejinaya cusboonaysiinta aanu xisaabta ku darsanayn isku xidhka astaanta ah marka uu nuqul ka samaynayo faylasha Git. Habkani waxa uu suurtogal ka dhigay in la habeeyo akhrinta faylal kasta oo ka imanaya server-ka iyada oo lagu darayo xiriiriyeyaasha astaanta ah ee Git.

Waxaa la go'aamiyay in la bilaabo tijaabooyinka muujinta jabsiga cdnjs si loogu helo abaalmarin HackerOne iyada oo la tijaabinayo mala-awaalka ku saabsan akhrinta faylka. Tijaabada isku xidhka astaanta ah.js ayaa lagu daray kaydka Git ee maktabadda JavaScript ee loo sii mariyo CDN, taasoo tilmaamaysa faylka /proc/self/maps file. Kadib daabacaadda nooc cusub oo maktabadda ah, maamulaha cusboonaysiinta ayaa farsameeyay kaydkan oo ku daabacay faylka la cayimay cdnjs (test.js waxa loo sameeyay xidhiidh calaamad ah iyo markii faylkan la codsado, waxa ku jira /proc/self/maps) waa la soo celiyay. ).

Beddelka isku xirka astaanta ah ee faylka /proc/self/environ, qoraaga daraasadda ayaa ogaaday in xogta la bixiyay ay ka kooban tahay qiyamka doorsoomayaasha deegaanka GITHUB_REPO_API_KEY iyo WORKERS_KV_API_TOKEN. Doorsoomiyaha koowaad waxa uu kaydiyay furaha API si loogu qoro gelitaanka kaydka robocdnjs ee GitHub. Doorsoomaha labaad waxa uu ku kaydiyay calaamada kaydinta KV ee cdnjs Isticmaalka macluumaadka la helay, weeraryahanku waxa uu isbeddel ku samayn karaa cdnjs oo uu gebi ahaanba wax u dhimi karaa kaabayaasha.

Source: opennet.ru

Add a comment