JAVA安全网JAVA安全网

生命不息,折腾不止。
--JAVA人自留地。

Tomcat 远程代码执行漏洞|信息泄漏漏洞(CVE-2017-12615|CVE-2017-12616)

1.综述

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

2017年9月19日,Apache Tomcat官方确认并修复了两个漏洞,信息泄露漏洞(CVE-2017-12616)和远程代码执行漏洞(CVE-2017-12615)。攻击者将能通过发送精心构造的恶意请求,绕过设置的相关安全限制获取用户服务器上 JSP 文件的源代码;或是攻击者通过精心构造的攻击请求,上传恶意的JSP文件,JSP文件中的恶意代码将能被服务器执行,造成远程代码执行。

2.漏洞概述

漏洞类型: 信息泄漏和远程代码执行漏洞

危险等级: 高危

利用条件: Tomcat在受影响版本内,并且readonly 参数设置为 false

受影响系统: Tomcat 7.x、8.x、9.x

3.漏洞编号

CVE-2017-12615 Tomcat远程代码执行漏洞

CVE-2017-12616 Tomcat信息泄露漏洞

4.漏洞描述

2017年9月19日,Apache Tomcat官方确认并修复了两个漏洞,信息泄露漏洞(CVE-2017-12616)和远程代码执行漏洞(CVE-2017-12615)。

信息泄露漏洞(CVE-2017-12616),当 Tomcat 中使用了 VirtualDirContext 时,攻击者能够通过发送恶意请求,绕过设置的相关安全限制,或是获取到由 VirtualDirContext 提供支持资源的 JSP 源代码,造成信息泄露。Tomcat 7.x版本内默认配置无VirtualDirContext参数,需要手工添加,默认配置条件下不受此漏洞影响。

远程代码执行漏洞(CVE-2017-12615),如果Apache Tomcat服务器上启用了HTTP PUT请求方法,并且在web.xml配置文件中 readonly参数设置为 false,攻击者通过精心构造的攻击请求,上传恶意的JSP文件,JSP文件中的恶意代码将能被服务器执行,从而造成远程代码执行。Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,并且readonly参数默认为true,默认配置条件下不受此漏洞影响。

5.漏洞利用

使用PUT上传JSP文件,如图1所示。
1.jpg
6.修复建议

Apache Tomcat官方暂未出相关安全补丁,建议使用临时解决方案。

临时解决方案:

1.注释掉web.xml的readonly配置,或者设置readonly=true。
2.jpg
2.前端的代理(nginx、Apache、IIS等)禁用put

IIS:IIS默认拒绝PUT和DELETE请求,如果使用了不安全的方法,建议禁用webDAV模块。

Apache:仅允许GET和POST方法,修改配置文件,修改后重启服务。
3.jpg
Nginx:虚拟主机的server段里加入下面代码,重启nginx。
4.jpg
参考链接:

http://mail-archives.apache.org/mod_mbox/www-announce/201709.mbox/%3C81e3acd3-f335-ff0d-ae89-bf44bb66fca0@apache.org%3E

未经允许不得转载:JAVA安全网 » Tomcat 远程代码执行漏洞|信息泄漏漏洞(CVE-2017-12615|CVE-2017-12616)

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址