PHP ComposerºÅÁî×¢Èë·ì϶£¨CVE-2021-29472£©

°ä²¼¹¦·ò 2021-04-30

0x00 ·ì϶¸ÅÊö

CVE  ID

CVE-2021-29472

ʱ    ¼ä

2021-04-30

Àà   ÐÍ

ºÅÁî×¢Èë

µÈ    ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò

Composer < 1.10.22 || >=2.0,<2.0.13

PoC/EXP

δ¹«¿ª

ÔÚÒ°ÀûÓÃ

·ñ

 

0x01 ·ì϶ÏêÇé

image.png

 

2021Äê04ÔÂ27ÈÕ£¬PHP ComposerÈí¼þ°ü°ä²¼ÁËComposer 1.10.22ºÍ2.0.13°æ±¾£¬½¨¸´ÁËPHP ComposerÖеÄÒ»¸öºÅÁî×¢Èë·ì϶£¨CVE-2021-29472£©£¬¸Ã·ì϶µÄCVSSv3¸ù»ùµÃ·ÖΪ8.8£¬¹¥»÷ÕßÄܹ»Í¨¹ýÀûÓô˷ì϶ִÐÐËÁÒâºÅÁî²¢ÔÚ¿ª·¢»·¾³Öд´½¨ºóÃÅ£¬ÒÔ½øÐй©¸øÁ´¹¥»÷¡£

 

·ì϶ϸ½Ú

ComposerÊÇPHPµÄÒ»¸öÒÀÀµÖÎÀíÆ÷¹¤¾ß£¬ËüʹÓÃÔÚÏß·þÎñPackagistÀ´È·¶¨Èí¼þ°üÏÂÔØµÄÕýÈ·¹©¸øÁ´¡£¾Ý¹À¼Æ£¬Packagist»ù´¡ÉèʩÿÔÂԼĪΪ14ÒÚ¸öÏÂÔØÒªÇóÌṩ·þÎñ¡£

ÓÉÓÚRoot composer.jsonÎļþÖеÄMercurial¿âµÄURLºÍ°üÔ´ÏÂÔØµÄURLûÓб»ÕýÈ·ËãÕÊ£¬Õ⽫µ¼Ö¹¥»÷Õß×¢ÈëµÄ²ÎÊý±»Ú¹ÊÍΪComposerÖ´ÐеÄϵͳºÅÁîµÄÑ¡Ïî¡£ÈôÊÇϵͳÖÐ×°ÖÃÁËhg/Mercurial£¬Ôò¶ñÒâÔì×÷µÄURLÖµ½«µ¼Ö´úÂëÔÚHgDriverÖб»Ö´ÐС£

µ«ÓÉÓÚcomposer.jsonÎļþͨ³£ÔÚÓû§×Ô¼ºµÄ½ÚÔì֮ϣ¬Òò¶ø¶ÔComposerÓû§µÄÖ±½ÓÓ°ÏìÊÇÓÐÏ޵ġ£¶øÔ´ÏÂÔØURLÖ»ÄÜÓÉÓû§Ã÷È·ÐÅÀµµÄµÚÈý·½Composer²Ö¿âÌṩ£¬ÒÔÏÂÔØºÍÖ´ÐÐÔ´´úÂ룬ÀýÈçComposer²å¼þ¡£

¸Ã·ìÏ¶ÖØÒªÓ°ÏìÊǽ«Óû§ÊäÈë´«µÝ¸øComposerµÄ·þÎñ£¬Ô̺¬Packagist.orgºÍPrivate Packagist£¬²¢µ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£

ÔÚÊÕµ½·ì϶»ã±¨ºóµÄ12Ó×ʱÄÚ£¬Packagist.orgºÍPrivate PackagistÒѾ­½¨¸´Á˸÷ì϶£¬²¢ÇÒͨ¹ýÈÕÖ¾Éó²é£¬ÔÝδ·¢Ïָ÷ì϶±»ÀûÓá£Ê¹ÓÃVcsRepository/VcsDriver»ò¶þ´Î¿ª·¢µÄÀûÓÿÉÄÜÊܵ½´Ë·ì϶µÄÓ°Ï죬¸Ãµ±¼´Éý¼¶ÆäcomposerÒÀÀµ¹ØÏµ¡£

 

0x02 ´ëÖý¨Òé

Ŀǰ´Ë·ì϶ÒѾ­½¨¸´£¬½¨ÒéÉý¼¶µ½Composer 1.10.22»ò2.0.13¡£

ÏÂÔØÁ´½Ó£º

https://getcomposer.org/

 

0x03 ²Î¿¼Á´½Ó

https://blog.sonarsource.com/php-supply-chain-attack-on-composer

https://blog.packagist.com/composer-command-injection-vulnerability/

https://github.com/composer/composer/security/advisories/GHSA-h5h8-pc6h-jvvx

https://securityaffairs.co/wordpress/117366/security/php-composer-flaw.html?

 

0x04 ¹¦·òÏß

2021-04-27  ·ì϶¹«¿ª

2021-04-30  VSRC°ä²¼°²È«¹«¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/

image.png