Nginx 安全漏洞(CVE-2022-3638)处理

这篇具有很好参考价值的文章主要介绍了Nginx 安全漏洞(CVE-2022-3638)处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、漏洞描述

Nginx 安全漏洞(CVE-2022-3638)处理
近日,在一起安全扫描中,发现系统存在Nginx 安全漏洞(CVE-2022-3638)。漏洞描述如下:nginx中发现的该漏洞会影响涉及IPv4连接断开的ngx_resolver.c文件某些未知处理过程,攻击者利用该漏洞在发起远程攻击,导致这个过程中触发内存泄漏。nginx 1.23.2之前版本存在安全漏洞。

背景:该主机上Nginx为从其他主机整体打包后拷贝过来,启动运行的,后来升级时发现很多依赖项并未安装;

处理建议:目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://github.com/nginx/nginx/commit/14341ce2377d38a268261e0fec65b6915ae6e95e

Nginx 安全漏洞(CVE-2022-3638)处理

参考链接:1,2

二、漏洞处理

1)下载Nginx 1.23.2 版本或者下载上文对应的ngx_resolver.c补丁文件

Nginx 安全漏洞(CVE-2022-3638)处理

--- a/src/core/ngx_resolver.c	Tue Jul 12 21:44:02 2022 +0400
+++ b/src/core/ngx_resolver.c	Thu Jul 14 21:26:54 2022 +0400
@@ -3684,10 +3684,7 @@
     }
 
     rn->qlen = (u_short) len;
-
-    if (r->ipv4) {
-        rn->query = p;
-    }   //上面4行删除
+    rn->query = p;  //新增让你干
 
 #if (NGX_HAVE_INET6)
     if (r->ipv6) {

补丁下载:;nginx-1.23.2软件下载:;从发布的版本看,1.23.2版本并没有标明修复CVE-2022-3638漏洞,但看文件已经删除了下列代码,最好使用补丁编译。

Nginx 安全漏洞(CVE-2022-3638)处理

2)下载后,将补丁覆盖源码包,重新编译或直接用1.23.2版本重新编译

#查看openssl库文件位置
ldconfig -p|grep libssl*   #或者openssl version -a,ldconfig -v

./configure --prefix=/usr/local/nginx-1.20.1 --user=nginx --group=nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_flv_module --with-http_mp4_module --with-http_sub_module --with-http_v2_module --with-pcre-jit --with-pcre --with-http_dav_module --with-http_addition_module --add-module=nginx-module-vts-master --with-openssl=/usr

yum install openssl openssl-devel zlib zlib-devel pcre pcre-devel gcc gcc-c++ -y

#报错1:
make -f objs/Makefile
make[1]: Entering directory `/usr/local/src/nginx-1.13.6'
cd /usr/bin/openssl \
&& if [ -f Makefile ]; then make clean; fi \
&& ./config --prefix=/usr/bin/openssl/.openssl no-shared  \
&& make \
&& make install_sw LIBDIR=lib
/bin/sh: line 0: cd: /usr/bin/openssl: Not a directory
make[1]: *** [/usr/bin/openssl/.openssl/include/openssl/ssl.h] Error 1
make[1]: Leaving directory `/usr/local/src/nginx-1.13.6':
make: *** [build] Error 2

#报错2:
make -f objs/Makefile
make[1]: Entering directory `/usr/local/src/nginx-1.13.6'
make[1]: *** No rule to make target `/usr/include/openssl/ssl.h', needed by `objs/src/core/nginx.o'.  Stop.
make[1]: Leaving directory `/usr/local/src/nginx-1.23.2'
make: *** [build] Error 2
#处理
vim  ./auto/lib/openssl/conf //ssh.h前保留openssl,其他删除openssl
……
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h" #保持
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
#重新编译make,报错:
    ... ...
cc: error: /usr/lib/libssl.a: No such file or directory
cc: error: /usr/lib/libcrypto.a: No such file or directory
#上述报错为缺少文件所致,下载
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz
#解压后编译,生成libssl.a和libcrypto.a
./configre && make
cp ./lib*.a /usr/lib/
#重新make后,如下图3
#之后,替代现有的nginx二进制文件即可

#web验证
##查看web信息
openssl s_client -connect 域名地址:446 -tls1_2
openssl s_client -connect 域名地址:446 -tls1_3

Nginx 安全漏洞(CVE-2022-3638)处理
Nginx 安全漏洞(CVE-2022-3638)处理
Nginx 安全漏洞(CVE-2022-3638)处理

重新编译后:
Nginx 安全漏洞(CVE-2022-3638)处理
验证:
Nginx 安全漏洞(CVE-2022-3638)处理

四、附录:报错处理

4.1 报错:Nginx make编译报错No such file or directory Error 127

/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-1.14.0’
make: *** [build] Error 2

如上所示,报错提示Nginx在编译时不能在/usr/local/.openssl/ 这个目录找到对应的文件,现在实际路径并非为.openssl隐藏文件,因此我们去修改Nginx编译时正确openssl的路径,修改Nginx的编译库配置文件:./nginx-1.20.1/auto/lib/openssl/conf,修改需要的目录,去除openssl前面的点就行,如下所示。
Nginx 安全漏洞(CVE-2022-3638)处理

Nginx 安全漏洞(CVE-2022-3638)处理
Nginx 安全漏洞(CVE-2022-3638)处理

4.2 Nginx 编译报错:pcre error 127

/bin/sh: line 2: ./configure: No such file or directory
make[1]: *** [/usr/local/pcre/Makefile] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-0.8.54′
make: *** [build] Error 2

如上报错找不到prce目录,我们需手动指定,追加参数:–with-pcre=/usr/local/pcre-8.35;可执行find / -name “libpcre.so.1” /查找“libpcre.so.1”所存在的位置,验证pcregrep -V;文章来源地址https://www.toymoban.com/news/detail-412021.html

到了这里,关于Nginx 安全漏洞(CVE-2022-3638)处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx相关漏洞处理:CVE-2016-2183、CVE-2022-41741、CVE-2022-41742

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 漏扫发现机器上的nginx使用的openssl版本有点低,在加上nginx的部署时间较早,还是1.20.2版本的,一起进行升级。 SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 nginx 缓冲区错误漏洞(CVE-2022-41741) nginx 越

    2024年02月08日
    浏览(29)
  • 使用nginx处理的一些安全漏洞

    HTTP X-Permitted-Cross-Domain-Policies 响应头缺失 Nginx的nginx.conf中location下配置: HTTP Referrer-Policy 响应头缺失 Nginx的nginx.conf中location下配置: HTTP X-Content-Type-Options 响应头缺失 Nginx的nginx.conf中location下配置: HTTP X-Download-Options 响应头缺失 Nginx的nginx.conf中location下配置: HTTP Content-Security-Po

    2023年04月08日
    浏览(23)
  • 漏洞修复--Haxx curl 安全漏洞 (CVE-2020-8177)

    Haxxcurl是瑞典Haxx公司的一套利用URL语法在命令行下工作的文件传输工具。该工具支持文件上传和下载,并包含一个用于程序开发的libcurl(客户端URL传输库)。Haxxcurl7.20.0版本至7.71.0之前版本中存在安全漏洞。攻击者可利用该漏洞覆盖本地文件。 使用阿里云或者腾讯云的仓库

    2024年02月08日
    浏览(39)
  • 安全生产:CVE-2020-11022/CVE-2020-11023漏洞解析

    代码安全扫描阶段,前端资源审计发现 jQuery 版本过低导致生产系统存在 CVE-2020-11022/CVE-2020-11023 类风险。且影响范围: jQuery = 1.0.3 3.5.0 。 该类风险为应用安全缺陷类DXSS攻击,攻击者可以利用该漏洞注入恶意脚本代码,并在受害者的浏览器上执行。将导致受害者的个人信息泄

    2024年02月05日
    浏览(29)
  • 【网络安全】CVE漏洞分析以及复现

    漏洞详情 Shiro 在路径控制的时候,未能对传入的 url 编码进行 decode 解码,导致攻击者可以绕过过滤器,访问被过滤的路径。 漏洞影响版本 Shiro 1.0.0-incubating 对应 Maven Repo 里面也有 【一一帮助安全学习,所有资源获取一一】 ①网络安全学习路线 ②20份渗透测试电子书 ③安全

    2024年02月06日
    浏览(34)
  • Apache Tomcat 安全漏洞(CVE-2020-13935)复现

    漏洞详情: Apache Tomcat是美国阿帕奇(Apache)软件基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat中的WebSocket存在安全漏洞,该漏洞源于程序没有正确验证payload的长度。攻击者可利用该漏洞造成拒绝服务(无限循环)。 影响版

    2024年02月11日
    浏览(36)
  • 记一次修复漏洞(OpenSSH 安全漏洞(CVE-2023-28531))CentOS升级openssh

    1.查看当前openssl和openssh版本 2.安装并启用telnet服务(防止升级过程无法连接机器) 设置开机自启 启动服务 检查服务是否开启: 开启root用户在telnet登陆:   3.配置防火墙(关闭防火墙可不配置) 法一:直接对外开发23端口(高风险)  #--permanent 为永久开启,不加此参数重启

    2024年02月06日
    浏览(35)
  • [网络]公共网络安全漏洞库:CVE/CNCVE

    以网络安全行业中最大的、影响范围最广的CVE为例。 CVE 的英文全称是“Common Vulnerabilities Exposures”通用漏洞披露。 CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。 使用一个共同的名字,可以帮助用户在各自独立的各种漏洞

    2024年02月07日
    浏览(30)
  • 【网络安全---漏洞复现】Tomcat CVE-2020-1938 漏洞复现和利用过程(特详细)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的

    2024年02月08日
    浏览(38)
  • 框架安全-CVE 漏洞复现&Django&Flask&Node.js&JQuery框架漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Nod

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包