Apache Tomcat团队修补重要的远程执行代码缺陷
Apache Tomcat团队最近修补了Apache Tomcat中的几个安全漏洞,其中一个可能允许未经授权的攻击者远程在受影响的服务器上执行恶意代码。 由Apache Software Foundation(ASF)开发的Apache Tomcat是一个开源的Web服务器和servlet系统,它使用Java Servlet,JavaServer Pages(JSP),表达式语言和WebSocket等多种Java EE规范,并提供了一种“纯粹的Java“用于Java概念的HTTP Web服务器环境运行。 与最近被利用以破坏美国信用报告机构Equifax的系统的Apache Struts2漏洞不同,Apache Tomcat的缺陷不容易被利用。
在Apache Tomcat中发现的关键的远程执行代码(RCE)漏洞(CVE-2017-12617)是由于受影响的软件对用户提供的输入的验证不足。 只有启用了HTTP PUT的系统(通过将Default servlet的“只读”初始化参数设置为“false”)才会受到影响。 Alphabot Security的PeterStöckli 说: “在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的Tomcat版本在所有操作系统上都包含潜在的危险的远程执行代码(RCE)漏洞,如果默认servlet配置参数readonly设置为false或者WebDAV servlet被启用,参数readonly设置为false,则存在受攻击的可能。” 利用此漏洞需要攻击者将恶意制作的Java Server Page(JSP)文件上传到运行受影响版本的Apache Tomcat的目标服务器,并且JSP文件中包含的代码将在请求文件时由服务器执行。 为了上传恶意制作的JSP,攻击者只需要向易受攻击的服务器发送一个HTTP PUT请求,就像Peter在Apache邮件列表中发布的概念验证(PoC)漏洞代码所提到的那样。 攻击者最终可实现在目标服务器上执行恶意代码。 Peter解释说:“由于这个功能通常是不需要的,所以最暴露于公开的系统将不会被设置为false,因此不会受到影响。” 这个标记为“重要”的RCE漏洞会影响到所有Apache Tomcat 9.0.0.M1版本到9.0.0,8.5.0到8.5.22,8.0.0.RC1到8.0.46和7.0.0到7.0.81 ,并已发布Tomcat 9.0.1版(Beta),8.5.23,8.0.47和7.0.82版本。
