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