2017年7月11日,Nginx官方发布最新的安全公告,公告了CVE编号为CVE-2017-7529的漏洞。该安全问题存在于Nginx范围过滤器中。攻击者通过精心构造的恶意请求可能会使服务器整数溢出,并且不能正确处理范围,导致敏感信息泄漏。
漏洞详情见下文。
漏洞编号
CVE-2017-7529
漏洞名称
Nginx敏感信息泄露漏洞
官方评级
中危
漏洞描述
在Nginx标准模块中,如果攻击者从缓存返回响应,则可以获取缓存文件头。黑客可以通过缓存文件头获取后端服务器的IP地址或其他敏感信息,从而导致信息泄露。
漏洞利用条件和方式
远程利用
漏洞影响范围
Nginx 0.5.6 - 1.13.2
漏洞检测
自查使用的Nginx版本是否在受影响范围内。
漏洞修复建议(或缓解措施)
- 在不影响业务的前提下,建议您禁用multipart range功能。您可以使用以下方法在Nginx配置文件中添加max_ranges 1来禁用multipart range:
server {
listen 80;
server_name localhost;
max_ranges 1; ## 禁用multipart range分片功能
location / {
root /var/www/example.com;
index index.php;
}
location ~ \.php {
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)(/.*)") {
set $script $1;
set $path_info $2;
}
client_body_temp_path /tmp 1;
client_max_body_size 2048m;
fastcgi_pass 127.0.0.1:9000;
fastcgi_read_timeout 300;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example.com$script;
include /etc/nginx/fastcgi_params;
}
}
建议升级到Nginx1.13.3,1.12.1。
您可以使用阿里云云盾WAF进行防护。
情报来源
[1]. Nginx官方安全公告:http://nginx.org/en/CHANGES
[2]. http://mailman.nginx.org/pipermail/nginx-announce/2017/000200.html