美文网首页
漏洞新闻-- OpenSSL OCSP状态请求扩展内存耗尽

漏洞新闻-- OpenSSL OCSP状态请求扩展内存耗尽

作者: amazing_bing | 来源:发表于2016-09-26 14:05 被阅读0次

    漏洞概述:

    OpenSSL OCSP 状态请求扩展存在严重漏洞,该漏洞令恶意客户端能耗尽服务器内存。利用该漏洞,能使默认配置的服务器在每次协议重商时分配一段 OCSP ids 内存, 不断重复协商可令服务器内存无限消耗,即使服务器并未配置 OCSP。理论上,一个 OCSP id 最多 65,535 字节,攻击者可以不断重商令服务器每次内存消耗近 64K。但从实现来说,在 OpenSSL 1.0.2 版本中对 ClientHello 长度做了 16,384 字节的限制,因此每次重商只能令服务器内存消耗约 16K。但在最新的 1.1.0 版本中,对 ClientHello 长度的限制增加到 131,396 字节,那么对使用 1.1.0 版本的服务器,每次重商会令内存消耗近 64K。

    严重程度:高

    影响版本:

    OpenSSL 0.9.8h through 0.9.8v
    OpenSSL 1.0.1 through 1.0.1t
    OpenSSL 1.0.2 through 1.0.1h
    OpenSSL 1.1.0

    不受影响:
    OpenSSL 1.0.1u
    OpenSSL 1.0.2i
    OpenSSL 1.1.0a

    默认配置的 OpenSSL server 是受影响的(包括:OpenSSL 0.9.8h through 0.9.8v、OpenSSL 1.0.1 through 1.0.1t、OpenSSL 1.0.2 through 1.0.1h、OpenSSL 1.1.0)。 Nginx 0.8.23 以前的版本会受此影响,Apache 2.0以前及 SSLInsecureRenegotiation 配置项为 on 是都会受此影响。

    漏洞危害:

    攻击者可通过不断重商,发送大量 OCSP 状态请求扩展,导致服务器内存无限增长,最终导致服务器拒绝服务。默认OpenSSL配置的服务器会受影响,即使其并不支持 OCSP,除非在编译时使用了“no-ocsp”编译选项。

    漏洞详情:

    • 漏洞成因:客户端向服务器持续发送超大的OCSP状态请求扩展,在此过程中,利用TLS扩展 “TLSEXT_TYPE_status_request”填充OCSP ids内存,由于攻击者不断请求重商,从而耗尽服务器的内存导致拒绝服务。
    • 分析官方公布的修复代码,发现所做的修改主要是添加了对上一次握手过程的PACKET_remaining(&responder_id_list)的判断:如果大于0,则将所有OCSP_RESPIDs置空,并保存SSL_AD_INTERNAL_ERROR的状态;否则直接将所有OCSP_RESPIDs置空。这样就避免了OCSP ids内存不断增加造成的拒绝服务。

    修复建议:

    升级到最新版本,官方发布版本更新链接:
    https://www.openssl.org/source/
    各个供应商获得软件更新链接:
    Debian:https://security-tracker.debian.org/tracker/CVE-2016-6304
    Ubuntu:http://www.ubuntu.com/usn/usn-3087-1/
    FreeBSD:https://www.freebsd.org/security/advisories/FreeBSD-SA-16:26.openssl.asc
    Redhat/CentOS:https://access.redhat.com/security/cve/CVE-2016-6304

    参考文章:

    http://security.360.cn/cve/CVE-2016-6304/CN.html

    相关文章

      网友评论

          本文标题:漏洞新闻-- OpenSSL OCSP状态请求扩展内存耗尽

          本文链接:https://www.haomeiwen.com/subject/qxsqyttx.html