BLSA-2017:0040 – [中等] tomcat 安全警告及修复方法



  • BLSA-2017:0040 – [中等] tomcat 安全警告及修复方法

    问题描述

    tomcat 最近暴露出2个安全漏洞(CVE-2016-6818和CVE-2016-8745),恶意攻击者综合利用这些漏洞能够从系统获取敏感信息,从而对系统安全造成重大影响。为了增加系统安全强度, 建议所有受影响用户都安装BCLinux提供的的升级包以修复这些漏洞,升级包包含了修复这些漏洞的补丁文件。

    什么是Tomcat?
    Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。

    Tomcat与Apache有什么区别?
    区别如下:Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展;Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet);Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然);两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等;Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。

    影响版本

    • BigCloud Enterprise Linux 7
    • Red Hat Enterprise Linux 7
    • CentOS Linux 7

    详细介绍

    • CVE-2016-6818 [中等]
      Tomcat被暴露在解析HTTP请求的代码中允许一些无效字符的解析,恶意攻击者可以利用这一个漏洞,将某些“无效”字符注入到HTTP请求中。通过对HTTP响应进行操作,从而导致web缓存中毒,执行XSS攻击或者获取敏感信息。

    • CVE-2016-8745 [中等]
      Tomcat的Connector 代码重构引入了一个在 NIO HTTP 连接器发送文件的错误处理代码中的回归,因此处理发送文件错误导致当前处理器对象被多次添加到处理器高速缓存,处理器可以用于并发请求,共享处理器可导致请求之间的信息泄漏,包括但不限于会话ID和响应体。

    解决方案

    目前,BCLinux 的官方源已经提供 tomcat 的更新软件包。
    受影响的 BCLinux 7 用户需要升级到 7.0.69-11.el7_3 版本,

    1.检查YUM源设置,确保使用的是BCLinux官方YUM源

    [root@BCLinux ~]# ll /etc/yum.repos.d/
    total 16
    -rw-r--r--. 1 root root 1127 Jan  7  2016 BCLinux-Base.repo
    -rw-r--r--. 1 root root  794 Jan  7  2016 BCLinux-Kernel.repo
    -rw-r--r--. 1 root root 1153 Jan  7  2016 BCLinux-Source.repo
    -rw-r--r--. 1 root root  801 Jan  7  2016 BigCloud.repo
    

    2.安装更新

    [root@BCLinux ~]# yum update tomcat-7.0.69-11.el7_3
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package tomcat.noarch 0:7.0.54-2.el7_1 will be updated
    ---> Package tomcat.noarch 0:7.0.69-11.el7_3 will be an update
    --> Processing Dependency: tomcat-lib = 7.0.69-11.el7_3 for package: tomcat-7.0.69-11.el7_3.noarch
    --> Running transaction check
    ---> Package tomcat-lib.noarch 0:7.0.54-2.el7_1 will be updated
    ---> Package tomcat-lib.noarch 0:7.0.69-11.el7_3 will be an update
    --> Processing Dependency: tomcat-servlet-3.0-api = 7.0.69-11.el7_3 for package: tomcat-lib-7.0.69-11.el7_3.noarch
    --> Processing Dependency: tomcat-jsp-2.2-api = 7.0.69-11.el7_3 for package: tomcat-lib-7.0.69-11.el7_3.noarch
    --> Processing Dependency: tomcat-el-2.2-api = 7.0.69-11.el7_3 for package: tomcat-lib-7.0.69-11.el7_3.noarch
    --> Running transaction check
    ---> Package tomcat-el-2.2-api.noarch 0:7.0.54-2.el7_1 will be updated
    ---> Package tomcat-el-2.2-api.noarch 0:7.0.69-11.el7_3 will be an update
    ---> Package tomcat-jsp-2.2-api.noarch 0:7.0.54-2.el7_1 will be updated
    ---> Package tomcat-jsp-2.2-api.noarch 0:7.0.69-11.el7_3 will be an update
    ---> Package tomcat-servlet-3.0-api.noarch 0:7.0.54-2.el7_1 will be updated
    ---> Package tomcat-servlet-3.0-api.noarch 0:7.0.69-11.el7_3 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================================================================================
     Package                                              Arch                                 Version                                         Repos
    ================================================================================================================================================
    Updating:
     tomcat                                               noarch                               7.0.69-11.el7_3                                 updates
    Updating for dependencies:
     tomcat-el-2.2-api                                    noarch                               7.0.69-11.el7_3                                 updates
     tomcat-jsp-2.2-api                                   noarch                               7.0.69-11.el7_3                                 updates
     tomcat-lib                                           noarch                               7.0.69-11.el7_3                                 updates
     tomcat-servlet-3.0-api                               noarch                               7.0.69-11.el7_3                                 updates
    
    Transaction Summary
    ================================================================================================================================================
    Upgrade  1 Package (+4 Dependent packages)
    
    Total download size: 4.3 M
    Is this ok [y/d/N]: y
    
    

    3.复查

    [root@BCLinux ~]# rpm -q tomcat
    tomcat-7.0.69-11.el7_3.noarch
    

    4.重启应用

    安装升级包以后,重启应用,更新生效。

    外部链接

    1.BCLinux安全更新