vlambda博客
学习文章列表

【漏洞公告】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平台,及时查询漏洞的产品解决方案,我们持续更新~