Nginx HTTP/2和mp4模块远程拒绝服务漏洞
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协议的配置类似如下:
1 2 3 4 5 |
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
阿里云:阿里云2000元优惠券领取
腾讯云:腾讯云2860元优惠券领取