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/



¾©¹«Íø°²±¸11010802024551ºÅ