BLSA-2016:0046 – [紧急]java-1.8.0-openjdk安全警告及修复方法


  • 售后一二线

    BLSA-2016:0046 – [紧急]java-1.8.0-openjdk安全警告及修复方法


    问题描述

    最近java-1.8.0-openjdk暴露出一些安全漏洞,这些漏洞会导致不受信任的java程序对系统造成危害,同时可能导致过分消耗CPU与内存,危害系统安全。为了增加安全强度,建议所有使用受影响产品的用户都安装BCLinux提供的的更新补丁。

    •        jdk简介
             JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。

    •        openjdk简介
             OpenJDK是一款只能运行在i386 和AMD-64机器上的软件。OpenJDK做为GPL许可(GPL-licensed)的Java平台的开源化实现,Sun正式发布它已经六年有余。从发布起,Java社区的大众们就又开始努力学习,以适应这个新的开源代码基础(code-base)。

    •        openjdk与jdk的区别
      1.授权协议的不同:
             openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
      2.OpenJDK不包含Deployment(部署)功能:
             部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的。
      3.OpenJDK源代码不完整:
             在采用GPL协议的Openjdk中,sun jdk的一部分源代码因为产权的问题无法开放openjdk使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码 将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码 (OpenJDK6),促使OpenJDK更加完整。
      4.部分源代码用开源代码替换:
             由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。
      5.openjdk只包含最精简的JDK:
             OpenJDK不包含其他的软件包,比如Rhino Java DB等,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。

    影响版本

    • BigCloud Enterprise Linux 7.x
    • BigCloud Enterprise Linux 6.x
    • Red Hat Enterprise Linux 7.x
    • Red Hat Enterprise Linux 6.x
    • CentOS Linux 7.x
    • CentOS Linux 6.x

    详细介绍

    • CVE-2016-3606CVE-2016-3587CVE-2016-3598CVE-2016-3610
      在OpenJDK的Libraries和Hotpot组件中发现一些漏洞,不受信任的java应用程序可以利用这些漏洞完全的绕过java的沙箱限制保护。

    • CVE-2016-3500CVE-2016-3508
      OpenJDK的JAXP组件中发现一些拒绝服务漏洞,当解析一些特殊的XML文件时,会导致java应用程序利用JAXP组件来消耗过多的CPU和内存。

    • CVE-2016-3458CVE-2016-3550
      在OpenJDK的Hotsport和CORBA组件中发现一些漏洞,不受信任的java应用程序可以利用这些漏洞绕过某些java的沙箱限制保护。

    • BZ - 1356963
      修复不足的字节码验证。( 修复Hotspot组件)

    • BZ - 1356971
      修复对methodhandles.droparguments()接口的不正确操作。( 修复Libraries组件)

    • BZ - 1356987
      增加对methodhandle.invokebasic()接口的保护。(修复Hotspot组件)

    • BZ - 1356994
      修复对MethodHandles.filterReturnValue()接口计数检查的不足。(修复Libraries组件)

    • BZ - 1357008
      修复最大的XML名称限制不适用于URL命名空间问题。(修复JAXP组件)

    • BZ - 1357015
      修复缺少实体替换的限制。(修复JAXP组件)

    • BZ - 1357494
      修复使用自定义valuehandler不足的限制。(修复CORBA组件)

    • BZ - 1357506
      修复在字节流中的整数溢出问题。(修复组件Hotspot)

    解决方案

    目前,BCLinux的官方源已经可以提供更新的java-1.8.0-openjdk软件包。
    BCLinux 6用户需要升级到java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64版本。
    BCLinux 7用户需要升级到java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64版本。

    以BCLinux 7为例:

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

    [root@BCLinux ~]# ll /etc/yum.repos.d/
    total 24  
    -rw-r--r-- 1 root root 1038 Mar 10 04:46 BCLinux-Base.repo  
    -rw-r--r-- 1 root root 1053 Oct 19 21:18 BCLinux-Source.repo                                      
    -rw-r--r-- 1 root root 1184 Oct 19 21:18 BigCloud.repo  
    

    2.安装更新

    [root@BCLinux ~]#yum update java-1.8.0-openjdk
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.65-3.b17.el7 will be updated
    ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.101-3.b13.el7_2 will be an update
    --> Processing Dependency: java-1.8.0-openjdk-headless = 1:1.8.0.101-3.b13.el7_2 for package: 1:java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64
    --> Running transaction check
    ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.65-3.b17.el7 will be updated
    ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.101-3.b13.el7_2 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =======================================================================================================
     Package                            Arch          Version                         Repository      Size
    =======================================================================================================
    Updating:
     java-1.8.0-openjdk                 x86_64        1:1.8.0.101-3.b13.el7_2         updates        221 k
    Updating for dependencies:
     java-1.8.0-openjdk-headless        x86_64        1:1.8.0.101-3.b13.el7_2         updates         31 M
    
    Transaction Summary
    =======================================================================================================
    Upgrade  1 Package (+1 Dependent package)
    
    Total download size: 31 M
    

    3.复查

    [root@BCLinux ~]# rpm -qa | grep java-1.8.0-openjdk 
    java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64
    java-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64                                          
    

    4.重启服务

    安装升级包以后,所有正在运行的OpenJDK java实例必须重新启动,更新生效。

    外部链接:

    1. BCLinux 安全更新


登录后回复
 

与 BC-LINUX 的连接断开,我们正在尝试重连,请耐心等待