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
通用清静建议
对代码举行清静审计,尽早检测潜在的清静误差,并增强代码逻辑性。
对用户的输入举行过滤或转义,阻止参数可控。
用户应按期更新软件、程序和应用程序,确保应用程序是最新的,以掩护系统免受误差使用。
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号