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



  • 问题描述

    最近java-1.8.0-openjdk暴露出一系列安全漏洞,这些漏洞可以被恶意攻击者利用,从而对系统造成危害等等。为了增加系统安全强度,建议所有使用受影响产品的用户都安装BCLinux提供的的更新补丁。

    jdk简介
    JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。
    openjdk简介
    OpenJDK是一款只能运行在i386 和AMD-64机器上的软件。OpenJDK做为GPL许可(GPL-licensed)的Java平台的开源化实现,Sun正式发布它已经六年有余。从发布起,Java社区的大众们就又开始努力学习,以适应这个新的开源代码基础(code-base)。
    jdk和openjdk区别
    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
    • Red Hat Enterprise Linux 7
    • CentOS Linux 7

    详细描述

    • CVE-2017-10102
      OpenJDK的RMI组件中DCG实现无法正确处理引用。远程攻击者可能会利用这个漏洞使用具有RMI注册表或Java RMI应用程序的权限来执行任意代码。

    • CVE-2017-10107 CVE-2017-10096CVE-2017-10101CVE-2017-10089CVE-2017-10090CVE-2017-10087CVE-2017-10111CVE-2017-10110CVE-2017-10074CVE-2017-10067
      OpenJDK中的RMI,JAXP,ImageIO,Libraries,AWT,Hotspot和Security组件都被发现了存在多个漏洞。不可信的Java应用程序或小程序可以利用这些缺陷来完全绕过Java沙盒限制。

    • CVE-2017-10116
      OpenJDK的Security组件中的LDAPCertStore类遵循LDAP引用到任意URL。特制的LDAP引用的URL可能导致LDAPCertStore与非LDAP服务端进行通信。

    • CVE-2017-10198
      OpenJDK的Security组件可能无法正确执行为处理X.509证书链而定义的限制。远程攻击者可能会利用这个漏洞,使用一种被禁用的算法,使java接受证书。

    • CVE-2017-10115
      在OpenJDK的JCE组件中的DSA实现中发现了一个隐蔽的时间段漏洞。远程攻击者可能利用此漏洞来通过定时侧通道提取有关所使用密钥的某些信息。

    • CVE-2017-10135
      在OpenJDK的JCE组件中的PKCS#8实现中发现了一个隐藏的定时通道漏洞。远程攻击者可能会利用此漏洞通过定时侧通道确定密钥。

    • CVE-2017-10108CVE-2017-10109
      OpenJDK中的BasicAttribute和CodeSource类没有限制从序列化形式创建对象实例时分配的内存量。这样,串行化输入流可能会导致Java消耗过多的内存。

    • CVE-2017-10081CVE-2017-10193
      OpenJDK中的Hotspot和Security组件发现了多个漏洞。不可信的Java应用程序或小程序可能会利用这些漏洞绕过某些Java沙盒限制。

    • CVE-2017-10193
      OpenJDK的2D组件中的JPEGImageReader实现在某些情况下会读取所有图像数据。特制图像可能导致Java应用程序临时使用过多的CPU和内存。

    解决方案

    目前,BCLinux的官方源已经可以提供更新的 java-1.8.0-openjdk 软件包,BCLinux 7 用户需要升级到1.8.0.141-1.b16.el7_3.x86_64版本。

    BCLinux 7 用户安装更新步骤如下

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

    [root@BCLinux ~]# ls -l /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 java-1.8.0-openjdk
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    --> Processing Dependency: java-1.8.0-openjdk = 1:1.8.0.131-3.b12.el7_3 for package: 1:java-1.8.0-openjdk-accessibility-1.8.0.131-3.b12.el7_3.x86_64
    --> Processing Dependency: java-1.8.0-openjdk = 1:1.8.0.131-3.b12.el7_3 for package: 1:java-1.8.0-openjdk-devel-1.8.0.131-3.b12.el7_3.x86_64
    --> Processing Dependency: java-1.8.0-openjdk = 1:1.8.0.131-3.b12.el7_3 for package: 1:java-1.8.0-openjdk-demo-1.8.0.131-3.b12.el7_3.x86_64
    ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.141-1.b16.el7_3 will be an update
    --> Processing Dependency: java-1.8.0-openjdk-headless = 1:1.8.0.141-1.b16.el7_3 for package: 1:java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
    --> Running transaction check
    ---> Package java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    ---> Package java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.141-1.b16.el7_3 will be an update
    ---> Package java-1.8.0-openjdk-demo.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    ---> Package java-1.8.0-openjdk-demo.x86_64 1:1.8.0.141-1.b16.el7_3 will be an update
    ---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    ---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.141-1.b16.el7_3 will be an update
    ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    --> Processing Dependency: java-1.8.0-openjdk-headless = 1:1.8.0.131-3.b12.el7_3 for package: 1:java-1.8.0-openjdk-src-1.8.0.131-3.b12.el7_3.x86_64
    ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.141-1.b16.el7_3 will be an update
    --> Running transaction check
    ---> Package java-1.8.0-openjdk-src.x86_64 1:1.8.0.131-3.b12.el7_3 will be updated
    ---> Package java-1.8.0-openjdk-src.x86_64 1:1.8.0.141-1.b16.el7_3 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.141-1.b16.el7_3                        updates                      234 k
    Updating for dependencies:
     java-1.8.0-openjdk-accessibility                      x86_64                      1:1.8.0.141-1.b16.el7_3                        updates                       42 k
     java-1.8.0-openjdk-demo                               x86_64                      1:1.8.0.141-1.b16.el7_3                        updates                      1.9 M
     java-1.8.0-openjdk-devel                              x86_64                      1:1.8.0.141-1.b16.el7_3                        updates                      9.7 M
     java-1.8.0-openjdk-headless                           x86_64                      1:1.8.0.141-1.b16.el7_3                        updates                       31 M
     java-1.8.0-openjdk-src                                x86_64                      1:1.8.0.141-1.b16.el7_3                        updates                       45 M
    
    Transaction Summary
    =====================================================================================================================================================================
    Upgrade  1 Package (+5 Dependent packages)
    
    Total download size: 88 M
    Is this ok [y/d/N]: y
    

    3.复查

    [root@BCLinux ~]# rpm -q java-1.8.0-openjdk
    java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
    

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

    外部链接

    1.BCLinux安全更新


登录后回复
 

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