北京时间4月19日晚,Squirrelmail被爆出存在一个远程代码执行漏洞(CVE-2017-7692,CNNVD-201704-561)。该漏洞是由于在传递一个字符串给popen调用之前,没有对其进行过滤和无害化处理。因此攻击者有可能利用此漏洞在远程服务器上越权执行任意代码。
该漏洞存在于initStream函数Deliver_SendMail.class.php中,它会使用escapeshellcmd()来过滤和无害化发送邮件的命令。然而escapeshellcmd()并没有对空格字符进行转义,因此会触发任意指令参数的注入。
相关地址:
https://www.wearesegment.com/research/Squirrelmail-Remote-Code-Execution.html
http://seclists.org/bugtraq/2017/Apr/60
Squirrelmail
SquirrelMail是以PHP编写的基于标准的webmail包。 它为IMAP和SMTP协议提供了内置的纯PHP支持,所有页面都以纯HTML 4.0格式呈现(不需要JavaScript),以便跨浏览器实现最大的兼容性。 它的要求很少,配置和安装非常简单。 SquirrelMail具有您希望从邮件客户端获得的所有功能,包括强大的MIME支持,通讯录和文件夹操作。
受影响的版本
- Squirrelmail Version <= 1.4.22
不受影响的版本
- Squirrelmail Version > 1.4.22
规避方案
- 目前Squirrelmail 官方还没有发布相关修复补丁,请用户持续关注。
- 用户可以使用该漏洞发现者提供的临时补丁来修复,具体修复代码如下:
BOF diff -ruN squirrelmail-webmail-1.4.22/class/deliver/Deliver_SendMail.class.php squirrelmail-webmail-1.4.22-fix-CVE-2017-7692/class/deliver/Deliver_SendMail.class.php --- squirrelmail-webmail-1.4.22/class/deliver/Deliver_SendMail.class.php 2011-01-06 02:44:03.000000000 +0000 +++ squirrelmail-webmail-1.4.22-fix-CVE-2017-7692/class/deliver/Deliver_SendMail.class.php 2017-04-18 11:42:26.505181944 +0000 @@ -93,9 +93,9 @@ $envelopefrom = trim($from->mailbox.'@'.$from->host); $envelopefrom = str_replace(array("\0","\n"),array('',''),$envelopefrom); // save executed command for future reference - $this->sendmail_command = "$sendmail_path $this->sendmail_args -f$envelopefrom"; + $this->sendmail_command = escapeshellcmd("$sendmail_path $this->sendmail_args -f") . escapeshellarg($envelopefrom); // open process handle for writing - $stream = popen(escapeshellcmd($this->sendmail_command), "w"); + $stream = popen($this->sendmail_command, "w"); return $stream; } EOF
参考链接:
https://www.wearesegment.com/research/Squirrelmail-Remote-Code-Execution.html
声 明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
关于绿盟科技
北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。