PhpMailer、SwiftMailer、ZendMail接连曝RCE高危漏洞,影响数百万 ...


研究人员最近发现了一个存在于3个常见开源PHP库中的高危(Critical)漏洞,黑客可以利用这个漏洞远程执行任意命令,存在漏洞的PHP库包括SwiftMailer、PhpMailer和ZendMail。
        前几天报道过,来自波兰Legal Hackers的研究员Dawid Golunski前一阵就披露了存在于PHPMailer中的漏洞(CVE-2016-10033,CNNVD-201612-675),该漏洞利用程序对参数过滤的不完善,来执行任意代码。PHPMailer在全球拥有用户约900多万。所以,PHPMailer针对该漏洞发布了5.2.18版,其中使用了escapeshellarg()函数进行过滤,看似是修复了漏洞,但实际上新的函数与escapeshellcmd()存在冲突。
        利用新版本中的冲突问题,研究人员Golunski再次绕过了5.2.18版PHPMailer中的安全措施,因此申请了一个新的漏洞编号(CVE-2016-10045,CNNVD-201612-755)。这一次漏洞波及范围更大,包括众多开源的web应用如WordPress, Drupal, 1CRM, SugarCRM, Yii和Joomla都可能遭到攻击。
        最终,PHPMailer发布了5.2.20版本,所有之前的版本都受到影响,请站长们尽快升级到最新版本。
        除此之外,Golunski还发现了另外两个PHP库中的相似漏洞,这两个PHP库是SwiftMailer和ZendMail。以上三则漏洞的危险级别都达到了高危(Critical)。
        SwiftMailer远程命令执行漏洞(CVE-2016-10074,CNNVD-201612-762)
        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,CNNVD-201612-795)
        ZendMail是Zend框架中的一个PHP组件,Zend框架拥有9500万装机量。

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