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

 

通用安全建议

对代码进行安全审计 ,尽早检测潜在的安全缝隙 ,并加强代码逻辑性。

对用户的输入进行过滤或转义 ,预防参数可控。

用户应定期更新软件、法式和利用法式 ,确保利用法式是最新的 ,以�;は低趁馐芊煜独�。

 

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