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