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



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

    问题描述

    GnuTLS最近暴露出多个安全漏洞 ,其中包含了远程匿名拒绝服务漏洞 (CVE-2016-8610),恶意攻击者利用这个漏洞可以发起拒绝服务攻击。为了增加系统安全强度,建议所有受影响用户都安装BCLinux 提供的的升级包以修复这些漏洞,升级包包含了修复这些漏洞的补丁文件。

    GnuTLS简介
    GnuTLS 是一个加密协议库,实现了 SSL、TLS 和 DTLS 协议和相关技术,提供了简单的 C 语言编程接口用来访问这些安全通讯协议,提供解析和读写 X.509、PKCS #12、OpenPGP 和其他相关结构。特点是可移植性和高效。虽然不像之前传出重大漏洞的OpenSSL函数库那么流行,不过GnuTLS的使用范围也相当广泛,包含在Red Hat、Ubuntu及Debian等Linux操作系统及350种相关软件。

    “SSL Death Alert”漏洞介绍(CVE-2016-8610)
    OpenSSL中存在一个影响广泛的远程匿名拒绝服务漏洞(或者OpenSSL未定义告警远程拒绝服务漏洞),该漏洞被命名为“SSL Death Alert” (即“OpenSSL红色警戒”漏洞),通用漏洞编号CVE-2016-8610。目前已确认该漏洞影响到互联网广泛提供HTTPS(包括SSL和TLS协议)服务的Nginx,OpenSSL官方已经于2016-09-22完成源码层面的修复。
    在OpenSSL针对SSL/TLS协议握手过程的实现中,允许客户端重复发送打包的 "SSL3_RT_ALERT" ->"SSL3_AL_WARNING" 类型明文未定义警告包,且OpenSSL在实现中遇到未定义警告包时仍选择忽略并继续处理接下来的通信内容(如果有的话)。攻击者可以容易的利用该缺陷在一个消息中打包大量未定义类型警告包,使服务或进程陷入无意义的循环,从而导致占用掉服务或进程100%的CPU使用率。所有使用OpenSSL版本库中的SSL/TLS协议都是可能受影响的, 其中提供HTTPS服务的Nginx是可以容易的被攻击到无法提供服务。

    影响版本

    • BigCloud Enterprise Linux 6
    • Red Hat Enterprise Linux 6
    • CentOS Linux 6

    详细介绍

    • CVE-2016-8610 [中等]
      在OpenSSL针对SSL/TLS协议握手过程中,在处理警告包时暴露出拒绝服务漏洞,远程攻击者可以个此漏洞,使TLS / SSL服务器消耗过多的CPU资源,从而无法接受来自其它客户端的连接请求。

    • CVE-2017-5335 [中等], CVE-2017-5336 [中等], CVE-2017-5337 [中等]
      gnutls处理OpenPGP证书时存在多个漏洞。攻击者可以创建恶意OpenPGP证书,当gnutls解析时将导致其崩溃。

    解决方案

    目前,BCLinux 的官方源已经提供 gnutls 的更新软件包,受影响的 BCLinux 6 用户需要升级到2.12.23-21.el6版本。

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

    [root@BCLinux ~]#  ls -l /etc/yum.repos.d/
    total 12
    -rw-r--r--. 1 root root  969 Nov 16  2015 BCLinux-Base.repo
    -rw-r--r--. 1 root root 1053 Nov 16  2015 BCLinux-Source.repo
    -rw-r--r--. 1 root root 1184 Nov 16  2015 BigCloud.repo
    

    2.安装更新

    [root@BCLinux ~]# yum update gnutls
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package gnutls.x86_64 0:2.8.5-14.el6_5 will be updated
    ---> Package gnutls.x86_64 0:2.12.23-21.el6 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================================================================
     Package                                  Arch                                     Version                                             Reposit
    ==============================================================================================================================================
    Updating:
     gnutls                                   x86_64                                   2.12.23-21.el6                                      updates
    
    Transaction Summary
    ==============================================================================================================================================
    Upgrade       1 Package(s)
    
    Total download size: 388 k
    Is this ok [y/N]: y
    

    3.复查

    [root@BCLinux ~]# rpm -q gnutls
    gnutls-2.12.23-21.el6.x86_64
    

    4.重启应用

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

    外部链接

    1.BCLinux安全更新