Nginx HTTP/2和mp4模块远程拒绝服务漏洞

摘要:2018年11月9日,阿里云云盾应急响应中心监测到Nginx近日发布安全更新,披露了三个可能导致服务器拒绝服务的漏洞:CVE-2018-16843、CVE-2018-16844和CVE-2018-16845。位于Nginx HTTP/2 模块和流媒体MP4模块中。攻击者通过构造特定的恶意HTTP请求,可远程DoS服务器。

标题: Nginx HTTP/2和mp4模块远程拒绝服务高危漏洞

CVSS分值: 8.2

CVSS: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H

披露时间: 2018-11-09

利用难度: NONE

CVE ID: CVE-2018-16843,CVE-2018-16844,CVE-2018-16845

简介:

2018年11月9日,阿里云云盾应急响应中心监测到Nginx近日发布安全更新,披露了三个可能导致服务器拒绝服务的漏洞:CVE-2018-16843、CVE-2018-16844和CVE-2018-16845。位于Nginx HTTP/2 模块和流媒体MP4模块中。攻击者通过构造特定的恶意HTTP请求,可远程DoS服务器。

详情:

CVE-2018-16843、CVE-2018-16844漏洞存在于ngx_http_v2_module模块之中(默认情况下不编译,编译时需要开启--with-http_v2_module,同时将listen http2添加到配置文件中),当用户添加http2支持时,攻击者可以发送特制的HTTP/2请求,消耗CPU和内存资源,最终导致服务器DoS。CVE-2018-16845漏洞存在于ngx_http_mp4_module模块中,当Nginx处理恶意的MP4文件时会导致处理进程无限循环、崩溃或者内存泄露,造成服务器DoS。


影响范围

主线版本:< 1.15.6
稳定版本:< 1.14.1


风险评级

CVE-2018-16843:高危
CVE-2018-16844:高危
CVE-2018-16845:高危

解决方案:

注:漏洞修复要求的技术专业度较高,建议先备份服务器镜像再做升级操作

方案一:

升级至Nginx最新安全版本(1.15.6或1.14.1),官方下载链接:http://nginx.org/en/download.html

方案二:

针对CVE-2018-16843和CVE-2018-16844漏洞,可采取禁用HTTP/2协议(可能导致服务不可用),使用到HTTP/2协议的配置类似如下:

server {
listen 443 ssl http2 default_server;
server_name localhost;
ssl_certificate /path/to/public.crt;
ssl_certificate_key /path/to/private.key;

检查Nginx配置文件中是否使用到http2参数,如没有,则不受漏洞影响。

方案三:

针对使用Tengine的建议使用官方最新版本修复漏洞:http://tengine.taobao.org/changelog_cn.html#2_2_3

参考链接:

 nginx.orgtengine.taobao.org

                                                                                                                                      来源:阿里云盾 ● 态势感知


评论
  • 2018-12-22 22:12:27 by Eric Guo
    在阿里上发现这个问题后,直接去将对应位置的配置信息取消掉了