【漏洞预警】Nginx/OpenResty 特殊配置下内存泄漏与目录穿越漏洞

漏洞描述

阿里云应急响应中心监测到国外安全研究者公开了Nginx/OpenResty在特殊配置下存在内存泄漏或目录穿越漏洞详情。

Nginx是一个高性能的HTTP和反向代理web服务器,OpenResty是一个基于 Nginx 与 Lua 的高性能Web平台。近日国外安全研究者公开了Nginx/OpenResty在特殊配置下存在内存泄漏或目录穿越漏洞详情。由于Nginx在rewrite功能实现上存在缺陷,以及OpenResty在ngx.req.set_uri()实现上存在缺陷,如果Nginx配置文件中使用了rewrite或者ngx.req.set_uri(),则攻击者可能可以通过构造恶意请求,从而造成内存泄漏或者目录穿越漏洞。阿里云应急响应中心提醒Nginx/OpenResty用户尽快采取安全措施阻止漏洞攻击。

影响版本

nginx <= v1.17.7
openresty <= v1.15.8.2

安全建议

  1. Nginx更新至安全版本>=v1.17.9

  2. 以下是存在漏洞的配置片段,建议用户自检查配置文件,并禁用相关危险配置。

location ~ /memleak {
    rewrite_by_lua_block {
        ngx.req.read_body();
        local args, err = ngx.req.get_post_args();
        ngx.req.set_uri( args["url"], true );
    }
}

location ~ /rewrite {
    rewrite ^.*$ $arg_x;
}

平滑升级nginx到最新版

一、升级前准备

1、对nginx的配置文件nginx.conf做备份;

2、新建目录/root/nginx,将安装包和脚本上传到该目录下;

3、下载最新稳定版本1.18.0,更多nginx 自动版本更新配置见“lnmp环境搭建篇

wget http://nginx.org/download/nginx-1.18.0.tar.gz 

二、平滑升级nginx

1、开始编译新版本的nginx

cd /root/nginx
tar -zxvf  nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module&&make

2、开始重命名旧版本nginx的可执行文件,替换新版本nginx的可执行文件

cd /usr/local/nginx/sbin
mv nginx nginx.old
cp  -r /root/nginx/nginx-1.18.0/objs/nginx .

3、检查nginx配置文件的正确性

/usr/local/nginx/sbin/nginx -t

4、开始升级新版nginx

kill -USR2 `cat  /usr/local/nginx/logs/nginx.pid`

5、旧版本nginx的pid变成nginx.pid.oldbin

cd /usr/local/nginx/logs
ls -lrt nginx.pid.oldbin

6、关闭旧版本nginx

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

7、查看新版nginx的版本号

/usr/local/nginx/sbin/nginx -v

更多nginx 常见问题及LNMP集成环境搭建请移步“如何简单的在阿里云centos7.6 64位操作系统上手动搭建LNMP环境(Nginx1.14.2+PHP7.x+mysql5.7)”查看

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

52it.club

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值