PHP ComposerÃüÁî×¢Èë©¶´£¨CVE-2021-29472£©
Ðû²¼Ê±¼ä 2021-04-300x00 ©¶´¸ÅÊö
CVE ID | CVE-2021-29472 | ʱ ¼ä | 2021-04-30 |
Àà ÐÍ | ÃüÁî×¢Èë | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌÀûÓà | ÊÇ | Ó°Ï췶Χ | Composer < 1.10.22 || >=2.0,<2.0.13 |
PoC/EXP | δ¹ûÈ» | ÔÚÒ°ÀûÓà | ·ñ |
0x01 ©¶´ÏêÇé
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/