Nginx/OpenResty内存走漏/目录穿越误差危害通告

宣布时间 2020-03-20

误差编号和级别


CVE编号:暂无,危险级别:中危,CVSS分值:厂商自评:官方未评定


影响版本


nginx <= v1.17.7 (commit af8ea176a743e97d767b3e1439d549b52dd0367a)

openresty <= v1.15.8.2


误差概述


克日,openwall oss-security 邮件组宣布通告披露了两个误差。在特定设置下 nginx/openresty 保存 内存走漏误差/目录穿越误差。


NGINX是美国NGINX公司的一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。OpenResty是一款基于Nginx和Lua的Web平台。该平台用于搭建用于处置惩罚高并发、高扩展性的动态Web应用、Web服务和动态网关。

该通告中显示,OpenResty通过在nginx中举行原始重写来实现ngx.req.set_uri(),而无需举行任何其他过滤或标准化。若是与不受信任的输入一起使用,则可能导致CRLF/header注入,目录遍历/外地文件读取,限制绕过。由于nginx的“重写”实现中有一个bug,也可以导致内存泄露。


误差验证


PoC:https://www.openwall.com/lists/oss-security/2020/03/18/1。


修复建议


1. Nginx官方已宣布修复版本,用户需要更新到 v1.17.9 (commit a5895eb502747f396d3901a948834cd87d5fb0c3)

2. OpenResty 用户需要排查Nginx设置文件中 rewrite 以及 ngx.req.set_uri,建议在不是必需使用的情形下,暂时禁用相关设置。


参考链接


https://www.openwall.com/lists/oss-security/2020/03/18/1