PHPMailerÔ¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2021-3603£©

Ðû²¼Ê±¼ä 2021-06-21

0x00 Îó²î¸ÅÊö

CVE     ID

CVE-2021-3603

ʱ      ¼ä

2021-06-21

Àà      ÐÍ

RCE

µÈ      ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£

PHPMailer <= 6.4.1  

¹¥»÷ÖØÆ¯ºó

¸ß

¿ÉÓÃÐÔ

¸ß

Óû§½»»¥

ÎÞ

ËùÐèȨÏÞ

ÎÞ

PoC/EXP

ÒѹûÕæ

ÔÚҰʹÓÃ

·ñ

 

0x01 Îó²îÏêÇé

image.png

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/

image.png