【漏洞公告】Nginx/OpenResty目录穿越漏洞
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。近日,深信服安全团队监测到关于Nginx/OpenResty目录穿越漏洞的通告,该漏洞利用需要特定配置方案,攻击者可以通过该目录穿越漏洞,读取服务器中任意敏感文件。
漏洞名称:Nginx/OpenResty 目录穿越漏洞
威胁等级:中危
影响范围:
nginx <= v1.17.7 (commit af8ea176a743e97d767b3e1439d549b52dd0367a)
openresty <= v1.15.8.2
漏洞类型:目录穿越
利用难度:一般
漏洞分析
1 Nginx/OpenResty介绍
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,且nginx的并发能力在同类型的网页服务器中表现也较好。
OpenResty又被称为ngx_openresty,是基于Nginx的核心Web应用程序服务器。OpenResty通过汇聚各种设计精良的Nginx模块,从而将Nginx有效地变成一个强大的通用Web应用平台,其的目标是让Web服务直接运行在Nginx服务内部,充分利用Nginx的非堵塞I/O模型,不仅对HTTP客户端请求,甚至对远程后端DB都进行一系列的高性能响应。
2 漏洞描述
近日,深信服安全团队监测到了一则关于Nginx/OpenResty目录穿越漏洞的通告,该通告中显示,OpenResty通过在nginx中进行原始重写来实现ngx.req.set_uri(),而无需进行任何其他过滤或标准化。如果与不受信任的输入一起使用,则可能导致CRLF/header注入,目录遍历/本地文件读取,限制绕过。该漏洞利用需要特定配置方案,攻击者可以通过该目录穿越漏洞,读取服务器中任意敏感文件。
3 漏洞复现
搭建最新版本的OpenResty 漏洞环境,通过构造攻击流量访问攻击目标服务器敏感文件。效果如下图:
影响范围
目前受影响的Nginx/OpenResty版本:
nginx <= v1.17.7 (commit af8ea176a743e97d767b3e1439d549b52dd0367a)
openresty <= v1.15.8.2
解决方案
1修复建议
1. Nginx官方已发布修复版本,用户需要更新到 v1.17.9 (commit a5895eb502747f396d3901a948834cd87d5fb0c3)
2. OpenResty 用户需要排查Nginx配置文件中 rewrite 以及 ngx.req.set_uri,建议在不是必须使用的情况下,临时禁用相关配置。
2 深信服解决方案
【深信服下一代防火墙】可轻松防御此漏洞,建议部署深信服下一代防火墙的用户开启安全防护规则,可轻松抵御此高危风险。
【深信服云盾】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。
【深信服安全感知平台】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。
【深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。在漏洞爆发之初,对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。
参考链接
https://www.openwall.com/lists/oss-security/2020/03/18/1
时间轴
2020/03/19
深信服安全团队监测到了关于Nginx/OpenResty目录穿越漏洞的通告
2020/03/19
深信服千里目实验室分析并复现此漏洞,并发布解决方案。
文章推荐:
点击阅读原文,关注并登录深信服智安全Wiki平台,及时查询漏洞的产品解决方案,我们持续更新~