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 mala-awaalay in weeraryahan uu soo gudbin karo codsi ah in maktabaddiisa lagu daro cdnjs oo uu soo geliyo kayd si gaar ah loo farsameeyay oo ay ku jiraan faylal leh xarfo "../" oo ku jira waddada loo maro kaydka NPM. Hawlgal "is-cusboonaysiin otomaatig ah" ayaa si joogto ah loogu sameeyaa server-yada cdnjs, kaas oo maamuluhu soo dejiyo noocyo cusub oo maktabadda la soo jeediyay ah oo uu furo waxa ku jira. Isagoo adeegsanaya faylasha leh waddooyinka "../", weeraryahanku wuxuu beddeli karaa faylasha qoraalka adeegga oo uu fulin karaa koodkiisa. server kaas oo lagu sameeyay furitaankii.
Markii la soo dejinayay cusbooneysiinta Git, waxaa la ogaaday in maareeyaha cusbooneysiinta uusan tixgelin xiriiriyeyaasha calaamadaha ah marka uu nuqul ka sameynayo faylasha Git. Sifadan waxay u oggolaatay akhrinta faylal kasta oo ka yimid Git server iyadoo lagu darayo xiriiro calaamadeysan 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
