关注网络安全
和行业未来

PhpMailer、SwiftMailer、ZendMail接连曝RCE高危漏洞,影响数百万web服务器


研究人员最近发现了一个存在于3个常见开源PHP库中的高危(Critical)漏洞,黑客可以利用这个漏洞远程执行任意命令,存在漏洞的PHP库包括SwiftMailer、PhpMailer和ZendMail。

前几天FreeBuf报道过,来自波兰Legal Hackers的研究员Dawid Golunski前一阵就披露了存在于PHPMailer中的漏洞(CVE-2016-10033),该漏洞利用程序对参数过滤的不完善,来执行任意代码。PHPMailer在全球拥有用户约900多万。所以,PHPMailer针对该漏洞发布了5.2.18版,其中使用了escapeshellarg()函数进行过滤,看似是修复了漏洞,但实际上新的函数与escapeshellcmd()存在冲突。

利用新版本中的冲突问题,研究人员Golunski再次绕过了5.2.18版PHPMailer中的安全措施,因此申请了一个新的漏洞编号(CVE-2016-10045)。这一次漏洞波及范围更大,包括众多开源的web应用如WordPress, Drupal, 1CRM, SugarCRM, Yii和Joomla都可能遭到攻击。

最终,PHPMailer发布了5.2.20版本,所有之前的版本都受到影响,请站长们尽快升级到最新版本。

除此之外,Golunski还发现了另外两个PHP库中的相似漏洞,这两个PHP库是SwiftMailer和ZendMail。以上三则漏洞的危险级别都达到了高危(Critical)。

SwiftMailer远程命令执行漏洞(CVE-2016-10074)

SwiftMailer也是一款拥有众多用户的软件,它能够通过SMTP协议发送邮件。很多开源项目都使用了这个库,包括Yii2, Laravel,Symfony。

SwiftMailer漏洞的利用方法与PHPMailer漏洞相似,只要找到使用了SwiftMailer的页面,如注册、联系方式表单、密码重置等页面就能执行命令。

黑客可以在web服务器上远程执行命令,从而攻占服务器。

SwiftMailer所有版本受此漏洞影响,包括最近的5.4.5-DEV版本。

Golunski向SwiftMailer团队报告了此漏洞,开发团队迅速修复了漏洞,在一天内发布了5.4.5版。

 “邮件传输函数(Swift_Transport_MailTransport)存在漏洞,如果”From”、”ReturnPath”或”Sender”header来自不可信的来源,函数就可能会被传输任意的shell参数,这就导致了远程代码执行。” SwiftMailer的更新日志中写道

ZendMail RCE漏洞(CVE-2016-10034)

ZendMail是Zend框架中的一个PHP组件,Zend框架拥有9500万装机量。

ZendMail利用方法与PHPMailer、SwiftMailer相似,都是在地址中插入引号。由于程序没有成功过滤,导致输入的值被当作参数执行。

PoC演示与exp

Golunski已经发布了一段PoC视频演示和一个名为PwnScriptum的三合一exp,其中包含三个漏洞的攻击方法。并且会在不久之后发布白皮书详细讲解三个漏洞。

评论 抢沙发