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