研究人员最近发现了一个存在于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版。
ZendMail RCE漏洞(CVE-2016-10034)ZendMail是Zend框架中的一个PHP组件,Zend框架拥有9500万装机量。
ZendMail利用方法与PHPMailer、SwiftMailer相似,都是在地址中插入引号。由于程序没有成功过滤,导致输入的值被当作参数执行。 PoC演示与expGolunski已经发布了一段PoC视频演示和一个名为PwnScriptum的三合一exp,其中包含三个漏洞的攻击方法。并且会在不久之后发布白皮书详细讲解三个漏洞。 *参考来源:THN,本文作者:Sphinx |