一、漏洞描述
近期Nginx安全发布几个中高危漏洞:CVE-2022-41741 (Memory Corruption) – CVSS score 7.1 (High)、CVE-2022-41742 (Memory Disclosure) – CVSS score 7.0 (High),上述是:MP4 流媒体模块(ngx_http_mp4_module)中的漏洞影响到 NGINX Plus、NGINX 开源版以及 NGINX 企阅版。
1)漏洞: CVE-2022-41741
NGINX 在 ngx_http_mp4_module 中有一个漏洞,可能允许攻击者破坏 NGINX。使用特制的 mp4 文件可以损坏 worker 进程(负责流量处理)的内存,导致其终止或潜在的其他影响。该问题仅影响启用了 ngx_http_mp4_module 模块并在配置文件中使用 mp4 指令的 NGINX。此外,只有当攻击者能够触发使用 ngx_http_mp4_module 对特制 mp4 文件的进行处理时,攻击才有可能成功。
相关链接: NGINX ngx_http_mp4_module
漏洞影响: 一次成功的利用可能允许一个本地攻击者破坏 NGINX 的 worker 进程,导致其中止或其他潜在的影响。
修复建议: 强烈建议您将您的软件升级到最新版本。其中,nginx-1.22.1 稳定版和 nginx-1.23.2 主线版已发布,其中包括了针对 ngx_http_mp4_module (CVE-2022-41741, CVE-2022-41742) 中内存损坏和内存泄漏的修复补丁
缓解措施: ngx_http_mp4_module 模块为 MP4 文件提供伪流媒体的服务器侧支持,这些文件通常会使用 .mp4 .m4v 或.m4a 文件扩展名。更多详情单击跳转参;默认情况下, NGINX 开源版本不包含 MP4 模块,必须启用该模块才受影响。MP4 模块默认包含在 NGINX Plus 中。综上所述,缓解措施为:只允许受信用户发布音频和视频文件,或者在 NGINX 配置中禁用 MP4 模块,直到升级至修复版本。
2)漏洞: CVE-2022-41742
NGINX 在 ngx_http_mp4_module 中存在漏洞,这可能允许攻击者激发 worker 进程的崩溃,或者通过使用特制的 mp4 文件致使 worker 进程出现内存泄露。该问题仅影响启用了 ngx_http_mp4_module 模块(默认不启用)并在配置文件中使用 .mp4 指令的 NGINX。此外,只有当攻击者能够触发使用 ngx_http_mp4_module 对特制 mp4 文件的进行处理时,攻击才有可能成功。
相关链接:NGINX ngx_http_mp4_module
漏洞影响: 一次成功的利用可能允许一个攻击者破坏 NGINX 的 worker 进程,导致其中止或使其内存泄露。
缓解措施: ngx_http_mp4_module 模块为 MP4 文件提供伪流媒体的服务器侧支持,这些文件通常会使用 .mp4 .m4v 或 .m4a 文件扩展名。详情请见https://nginx.org/en/docs/http/ngx_http_mp4_module.html
注意:默认情况下, NGINX 开源版本不包含 MP4 模块,必须启用该模块才受影响。MP4 模块默认包含在 NGINX Plus 中。
综上所述,缓解措施为:只允许受信用户发布音频和视频文件,或者在 NGINX 配置中禁用 MP4 模块,直到升级至修复版本。
3)漏洞: CVE-2022-41743
NGINX Plus 的模块 ngx_http_hls_module 中存在一个漏洞,该漏洞可能允许本地攻击者破坏 NGINX 的工作进程内存,从而导致其崩溃或在使用特制的音频或视频文件时产生其他潜在的影响。**只有当配置文件中使用 hls 指令时,该问题才会影响 NGINX Plus。**此外,只有当攻击者可以触发使用模块 ngx_http_hls_module 对特制音频或视频文件进行 处理时,攻击才有可能成功。ngx_http_hls_module 模块为 MP4 和 MOV 媒体文件提供 HTTP 流媒体服务器端支持。这类文件通常具有 .mp4 .m4v .m4a .mov 或 .qt 的文件名扩展名。该模块支持 H.264 视频编解码器,AAC 和 MP3 音频编解码器。详情请见:ngx_http_hls_module;
漏洞影响: 一次成功的利用可能允许一个本地攻击者破坏 NGINX 的 worker 进程,导致其中止或其他潜在的影响。
影响范围: CVE-2022-41743 (Memory Corruption) – CVSS score 7.0 (High) 在 HLS 流媒体模块(ngx_http_hls_module)中的漏洞只对 NGINX Plus 产生影响。
修复建议: 禁用ngx_http_hls_module 模块及相关配置
相关链接: NGINX ngx_http_mp4_module、CVE Search、漏洞修复参考
二、修复处理
1)漏洞: CVE-2022-41741/2修复
1、升级Nginx版本到1.23.2版本;介质安装参看:软件下载;
yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib zlib-devel
wget -k https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
./config
make & make install
echo “/usr/local/lib64/” >> /etc/ld.so.conf
ldconfig
vim nginx-1.23.4/auto/lib/openssl/conf #修改
39 CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
40 CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
41 CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
42 CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
/configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=system
make & make install
usr/local/nginx/sbin/nginx -v
2、禁用ngx_http_mp4_module
2)漏洞: CVE-2022-41743修复
1、禁用ngx_http_hls_module 模块及相关配置
2、升级NGINX Plus到最新版