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