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