技术解析

Nginx 多个版本出现中危敏感信息泄露漏洞
0
2021-05-20 21:47:40
idczone

2017 年 7 月 11 日,Nginx 官方发布最新的安全公告,在 Nginx 范围过滤器中发现了一个安全问题( CVE-2017-7529 ),通过精心构造的恶意请求可能会导致整数溢出并且不正确处理范围,从而导致敏感信息泄漏。

当使用 Nginx 标准模块时,如果文件头从缓存返回响应,允许攻击者获取缓存文件头。在某些配置中,缓存文件头可能包含后端服务器 IP 地址或其他敏感信息。

此外,如果使用第三方模块有潜在的可能导致拒绝服务。

影响版本

Nginx 0.5.6-国外服务器1.13.2

漏洞等级

中危

受影响网站:

安全指数分析中国互联网共有 713651 个网站受到影响。

修复建议

升级 Nginx 到最新无漏洞版本,当前 1.13.3,1.12.1 版本中已修复了这个问题。

http://mailman.nginx.org/pipermail/nginx-announce/2017/000200.html


谢谢,updating ~~~

前几天已更新

在 11 号就更新过了。。

敏感信息泄漏是指什么?



11 号发布的,因为看到 nginx 节点没有这条,所以就发了


allows an attacker to obtain a cache file header if a response was returned from cache. In some configurations a cache file header may contain IP address of the backend server or other sensitive information.

怎么更新呢

openresty 也得更进更新?

惨了,已经安装原有 Nginx 的 Ubuntu,尝试从官方软件源更新 Nginx 失败。
Unpacking nginx (1.12.1-1~xenial) over (1.10.3-0ubuntu0.16.04.2) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb (--unpack):
trying to overwrite '/etc/nginx/uwsgi_params', which is also in package nginx-common 1.10.3-0ubuntu0.16.04.2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
又不想丢失现有的配置文件,莫非真的要卸载重装?

如何操作利用这个漏洞?

……你就不会先备份配置文件么

把 /etc/nginx 下的配置文件备份出来再重装啊...
Arch 一路滚包的路过(


好,现在是全新安装:
Unpacking nginx (1.12.1-1~xenial) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb (--unpack):
trying to overwrite '/etc/nginx/uwsgi_params', which is also in package nginx-common 1.10.3-0ubuntu0.16.04.2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
一样报错,Ubuntu 你****

慌不要慌,该漏洞需启用 cache alice,其次支持 Range 头,才会被利用

/t/374739
之前已经发过了,不谢 @hitrust

除了版本升级外,也有缓解措施
1.在 http/server/location 配置
max_ranges 1;
该配置下 range 头会失效,无法正常获取需要的部分文件大小
2.打补丁,自行编译
补丁链接: http://nginx.org/download/patch.2017.ranges.txt
3.不使用 Nginx 的 proxy_cache

更新已滚

感觉没什么用,要求苛刻,已现在的设置来讲很难暴露后端 IP

用 nginx 的 ppa 呀


try force overwrite

如果没有开启 cache 是不是就不影响了呢?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服