PHPMailerÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-3603£©
Ðû²¼Ê±¼ä 2021-06-210x00 ©¶´¸ÅÊö
CVE ID | CVE-2021-3603 | ʱ ¼ä | 2021-06-21 |
Àà ÐÍ | RCE | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌÀûÓà | ÊÇ | Ó°Ï췶Χ | PHPMailer <= 6.4.1 |
¹¥»÷ÅÓ´ó¶È | ¸ß | ¿ÉÓÃÐÔ | ¸ß |
Óû§½»»¥ | ÎÞ | ËùÐèȨÏÞ | ÎÞ |
PoC/EXP | ÒѹûÈ» | ÔÚÒ°ÀûÓà | ·ñ |
0x01 ©¶´ÏêÇé
PHPMailerÊÇÒ»¸öÓÃÓÚ·¢Ë͵ç×ÓÓʼþµÄ¿ªÔ´PHP¿â£¬¿ÉÒÔÉ趨·¢ËÍÓʼþµØÖ·¡¢»Ø¸´µØÖ·¡¢ÓʼþÖ÷Ìâ¡¢htmlÍøÒ³¼°ÉÏ´«¸½¼þ£¬Ê¹ÓÃÆðÀ´·Ç³£·½±ã£¬Ä¿Ç°Òѱ»È«ÇòÁè¼Ý900ÍòµÄÓû§Ê¹Óá£
2021Äê06ÔÂ16ÈÕ£¬PHPMaileÐû²¼Äþ¾²Í¨¸æ£¬ÐÞ¸´ÁËPHPMailerÖеÄ2¸öÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-3603ºÍCVE-2021-34551£©£¬Ô¶³Ì¹¥»÷Õß¿ÉÒÔÀûÓÃÕâЩ©¶´ÔÚϵͳÉÏÖ´ÐÐÈÎÒâ´úÂë¡£
PHPMailerÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-3603£©
¸Ã©¶´µÄCVSSv3ÆÀ·ÖΪ8.1¡£validateAddress()º¯ÊýÓÃÓÚÑéÖ¤µç×ÓÓʼþµØÖ·£¬Èç¹ûvalidateAddress()µÄ$patternselect²ÎÊý±»ÉèÖÃΪ'php'£¨Ä¬ÈÏÖµ£¬ÓÉPHPMailer::$validator½ç˵£©£¬¶øÇÒÈ«¾ÖÃüÃû¿Õ¼ä°üÂÞÒ»¸öÃûΪphpµÄº¯Êý£¬Ëü½«ÓÅÏÈÓÚͬÃûµÄÄÚÖÃÑéÖ¤Æ÷±»µ÷Óá£Ô¶³Ì¹¥»÷Õß¿ÉÒÔͨ¹ý½á¹¹¶ñÒâÇëÇóÀ´ÀûÓôË©¶´£¬´Ó¶ø¿ÉÒÔÔÚÄ¿±êϵͳÉÏÖ´ÐÐÈÎÒâ´úÂë¡£¸Ã©¶´ÒѾÔÚPHPMailer 6.5.0ÖÐͨ¹ý¾Ü¾øÊ¹Óüòµ¥×Ö·û´®×÷ΪÑéÖ¤Æ÷º¯ÊýÃû³ÆÀ´»º½â¡£
PHPMailerÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2021-34551£©
Èç¹ûsetLanguage()ÒªÁìµÄ$lang_path²ÎÊýδ¹ýÂËÓû§ÊäÈëÇÒ±»ÉèÖÃΪUNC·¾¶£¬¹¥»÷Õß¿ÉÒÔͨ¹ý´Ó¸ÃUNC·¾¶¼ÓÔØÎļþÀ´Ô¶³ÌÖ´Ðнű¾»ò´úÂë¡£´Ë©¶´½ö´æÔÚÓڿɽâÎö UNC ·¾¶µÄϵͳ£¬Í¨³£½öÊÊÓÃÓÚ Microsoft Windows¡£
Ó°Ï췶Χ
PHPMailer <= 6.4.1
0x02 ´¦Öý¨Òé
Ŀǰ´Ë©¶´ÒѾÐÞ¸´£¬½¨Ò鼰ʱÉý¼¶¸üÐÂÖÁPHPMailer 6.5.0¡£
ÏÂÔØÁ´½Ó£º
https://github.com/PHPMailer/PHPMailer
ͨÓÃÄþ¾²½¨Òé
¶Ô´úÂë½øÐÐÄþ¾²É󼯣¬¾¡Ôç¼ì²âDZÔÚµÄÄþ¾²Â©¶´£¬²¢ÔöÇ¿´úÂëÂß¼ÐÔ¡£
¶ÔÓû§µÄÊäÈë½øÐйýÂË»òתÒ壬ֹ֯²ÎÊý¿É¿Ø¡£
Óû§Ó¦¶¨ÆÚ¸üÐÂÈí¼þ¡¢·¨Ê½ºÍÓ¦Ó÷¨Ê½£¬È·±£Ó¦Ó÷¨Ê½ÊÇ×îеģ¬ÒÔ±£»¤ÏµÍ³ÃâÊÜ©¶´ÀûÓá£
0x03 ²Î¿¼Á´½Ó
https://github.com/PHPMailer/PHPMailer/blob/master/SECURITY.md
https://github.com/PHPMailer/PHPMailer/commit/45f3c18dc6a2de1cb1bf49b9b249a9ee36a5f7f3
https://www.huntr.dev/bounties/1-PHPMailer/PHPMailer/
https://nvd.nist.gov/vuln/detail/CVE-2021-3603
0x04 ʱ¼äÏß
2021-06-16 PHPMailerÐû²¼Äþ¾²Í¨¸æ
2021-06-21 VSRCÐû²¼Äþ¾²Í¨¸æ
0x05 ¸½Â¼
CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/