点赞
评论
收藏
分享
举报
NGINX 安全漏洞通报
发表于2026-07-16 13:09

浏览 308

文章标签

原文链接:NGINX 安全漏洞通报
转载来源:NGINX 中文社区

NGINX 唯一中文官方社区 ,尽在 nginx.org.cn    


CVE-2026-40460

漏洞描述:

当 NGINX Plus 或 NGINX OSS 配置使用 HTTP/3 QUIC 模块时,攻击者可能能够伪造其源 IP 地址,从而达到绕过授权或绕过速率限制的目的。(CVE-2026-40460)

漏洞影响:

此漏洞使得远程未经验证的攻击者能够伪造其源 IP 地址,绕过授权机制,或者能够对 NGINX 系统造成拒绝服务(DoS)攻击。

缓解措施:

没有缓解措施;可以在“监听”指令中禁用 QUIC 功能。

CVSSv3.1评分/等级:

6.5 中

影响平面:

数据平面

产品 / 组件:

NGINX Plus / ngx_quic_module、NGINX Open Source / ngx_quic_module

受影响版本:

NGINX Plus / R32 - R36、NGINX Open Source / 1.25.0 - 1.30.1

修复版本:

NGINX Plus / R36 P4、R32 P6、NGINX Open Source / 1.31.0


CVE-2026-40701

漏洞描述:

NGINX Plus 和 NGINX 开源版在 ngx_http_ssl_module 模块中存在一个漏洞,当 ssl_verify_client 指令设置为“on”或“optional”, ssl_ocsp 指令设置为“on”或叶节点参数配置了解析器时该漏洞会被触发。在这种配置下,未认证的攻击者可以发送超出其控制范围的请求,这可能会导致 NGINX 工作进程出现堆使用后释放错误。此漏洞可能导致 NGINX 工作进程重启、有限范围内的数据修改或产生其他潜在影响。(CVE-2026-40701)

漏洞影响:

此漏洞可能使远程攻击者能够对 NGINX 工作进程中的数据进行有限的修改控制、导致系统崩溃以及引发其他潜在影响。

缓解措施:

为了降低风险,可以使用“ssl_ocsp_responder”指令来专门设置OCSP响应器地址。如需更多信息,请参考“ngx_http_ssl_module”模块的“ssl_ocsp_responder”部分。如果无法指定OCSP响应器,可以通过确保NGINX系统所使用的DNS服务器能够快速解析OCSP响应器的名称来限制这种风险的影响。为此,可以使用本地DNS服务器并缓存主机名。这并不能完全解决该问题,但可能会降低其发生的概率。另外,可以从使用OCSP切换到使用CRL文件。CRL文件可以使用“ssl_crl”指令进行指定。如需更多信息,请参考“ngx_http_ssl_module”模块的“ssl_crl”部分。注意:F5 建议在部署到生产环境前对所有修改进行测试,并在维护窗口期间进行更改。

CVSSv3.1评分/等级:

4.8 中

影响平面:

数据平面

产品 / 组件:

NGINX Plus / ngx_http_ssl_module、NGINX Open Source / ngx_http_ssl_module

受影响版本:

NGINX Plus / R32 - R36、NGINX Open Source / 1.19.0 - 1.30.0

修复版本:

NGINX Plus / R36 P4、R32 P6、NGINX Open Source / 1.31.0、1.30.1


CVE-2026-42926

漏洞描述:

当使用“proxy_http_version 2”以及“proxy_set_body”来配置 NGINX 开源版以代理 HTTP/2 流量时,攻击者可能能够向上游服务器注入伪造的帧头和数据包字节。 (CVE-2026-42926)

漏洞影响:

此漏洞使得远程未经身份验证的攻击者能够向上游连接中注入任意的 HTTP/2 帧头和数据字节。这可能会导致 NGINX 与上游的 HTTP/2 对等端之间出现同步失步的情况。

缓解措施:

为降低风险,需同时执行以下两项操作:

  • 确保“proxy_set_body”参数的值不超过 16MB;根据配置情况,这可能包括调整“large_client_header_buffers”、“client_body_buffer_size”、“client_max_body_size”等参数。
  • 将“proxy_http_version”设置为除 2 版本以外的其他版本。

CVSSv3.1评分/等级:

5.8 中

影响平面:

数据平面

产品 / 组件:

NGINX Open Source / ngx_http_proxy_v2_module

受影响版本:

NGINX Open Source / 1.29.4 - 1.30.0

修复版本:

NGINX Open Source / 1.31.0、1.30.1


CVE-2026-42934

漏洞描述:

NGINX Plus 和 NGINX 开源版在 ngx_http_charset_module 中存在一个漏洞。当配置了 charset、source_charset、charset_map 和 proxy_pass 并且禁用了缓冲功能(使用“proxy_buffer off”指令)时,未认证的攻击者可以发送超出其控制范围的请求,从而导致 NGINX 工作进程中的堆缓冲区溢出,进而可能导致有限的内存泄露或系统崩溃。(CVE-2026-42934)

漏洞影响:

此漏洞可能使远程攻击者能够获得有限的控制权,从而能够泄露内存内容或导致 NGINX 工作进程崩溃。

缓解措施:

没有缓解措施;但那些未通过 charset_map 重新编码为 UTF-8 格式的 NGINX 配置则不受影响。

CVSSv3.1评分/等级:

4.8 中

影响平面:

数据平面

产品 / 组件:

NGINX Plus / ngx_http_charset_module、NGINX Open Source / ngx_http_charset_module

受影响版本:

NGINX Plus / R32 - R36、NGINX Open Source / 0.3.50 - 1.30.0

修复版本:

NGINX Plus / R37.0.0、R36 P4、R32 P6、NGINX Open Source / 1.31.0、1.30.1


CVE-2026-42945

漏洞描述:

NGINX Plus 和 NGINX 开源版本在 ngx_http_rewrite_module 中存在一个漏洞。当配置了rewrite指令,随后是rewrite/set/if指令以及未命名的 PCRE 捕获($1、$2 等)且替换字符串中包含 '?' 时,未认证的攻击者可以通过发送精心构造的 HTTP 请求来利用此漏洞,并导致 NGINX 工作进程中的堆缓冲区溢出,从而造成有限的数据修改和系统崩溃。(CVE-2026-42945)

漏洞影响:

此漏洞可能使远程攻击者能够对数据的修改进行有限控制,并导致 NGINX 工作进程崩溃。

缓解措施:

为降低此漏洞影响,在重写定义中使用命名捕获而非未命名捕获。


例如,以下重写指令使用未命名的 PCRE 捕获组 $1 和 $2:

rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;


要针对此示例降低此漏洞的影响,请将 $1 和 $2 替换为适当的命名捕获,即 $user_id 和 $section:

rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last

CVSSv3.1评分/等级:

8.1 高

影响平面:

数据平面

产品 / 组件:

NGINX Plus / ngx_http_rewrite_module、NGINX Open Source / ngx_http_rewrite_module

受影响版本:

NGINX Plus / R32 - R36、NGINX Open Source / 1.0.0 - 1.30.0、0.6.27 - 0.9.7

修复版本:

NGINX Plus / R36 P4、R32 P6、NGINX Open Source / 1.31.0、1.30.1


CVE-2026-42946

CVE 描述:

NGINX ngx_http_scgi_module和 ngx_http_uwsgi_module漏洞

漏洞描述:

在 ngx_http_scgi_module 和 ngx_http_uwsgi_module 模块中存在一个漏洞,可能会导致内存过度分配和不必要的内存复制的情况发生。当配置了 scgi_pass 或 uwsgi_pass 时,如果收到精心设计的响应或者中间人(MITM)位置的未认证攻击者控制的来自上游服务器的响应,可能会导致 NGINX 工作进程的崩溃或大量内存的泄露。(CVE-2026-42946)

漏洞影响:

此漏洞可能使远程攻击者能够导致 NGINX 工作进程崩溃或泄露其大量内存内容。

缓解措施:

无。确保 SCGI 和 uWSGI 后端服务器的安全性。

CVSSv3.1评分/等级:

6.5 中

影响平面:

数据平面

产品 / 组件:

NGINX Plus / ngx_http_scgi_module and ngx_http_uwsgi_module、NGINX Open Source / ngx_http_scgi_module and ngx_http_uwsgi_module

受影响版本:

NGINX Plus / R32 - R36、NGINX Open Source / 1.19.0 - 1.30.0、0.8.42 - 0.9.7

修复版本:

NGINX Plus / R36 P4、R32 P6、NGINX Open Source / 1.31.0、1.30.1


CVE-2026-8711

漏洞描述:

当js_fetch_proxy指令中配置了至少一项可由客户端控制的 NGINX 内置变量(例如$http_*、$arg_*、$cookie_*类变量),且存在某个站点配置块通过 NGINX JavaScript 调用ngx.fetch()接口时,NGINX JavaScript 模块存在安全漏洞。未授权攻击者可通过发送精心构造的 HTTP 请求利用该漏洞,会造成 NGINX 工作进程发生堆缓冲区溢出,进而引发进程异常重启。若目标系统关闭了地址空间布局随机化(ASLR)防护机制,或是攻击者成功绕过 ASLR 防护,还可借助该漏洞在受害主机上执行任意代码。(CVE-2026-8711)

漏洞触发条件:

  1. js_fetch_proxy 指令中包含至少一个客户端可控的 NGINX 变量(例如 $http_*、$arg_*、$cookie_*);
  2. 同时,存在调用 ngx.fetch() 的 配置块。

漏洞影响:

影响数据平面,未经认证的攻击者可利用此漏洞触发堆缓冲区溢出,导致 DoS 或代码执行。

缓解措施:

无

CVSS评分/等级:

High/8.1 (CVSS v3.1)、Critical/9.2 (CVSS v4.0)

影响平面:

数据平面

产品 / 组件:

NGINX JavaScript (njs) / ngx_http_js_module

受影响版本:

NGINX JavaScript 0.9.4 - 0.9.8

修复版本:

NGINX JavaScript 0.9.9

补充说明:

仅影响NGINX JavaScript (njs),对其它NGINX产品没有影响。


CVE-2026-9526

漏洞描述:

NGINX Plus 与开源版 NGINX 的ngx_http_rewrite_module(HTTP 重写模块)存在安全漏洞。当rewrite指令使用存在重叠捕获分组的 PCRE(兼容 Perl 正则表达式)正则表达式(示例:^/((.*))$),且在重定向或参数配置场景下,替换字符串多次引用上述重叠捕获变量(示例:$1$2)时,漏洞触发条件成立。

在满足特定外部环境条件下,未授权攻击者可通过发送恶意构造的 HTTP 请求利用此漏洞,触发 NGINX 工作进程堆缓冲区溢出,造成服务进程异常重启;若目标服务器未开启 ASLR(地址空间布局随机化)防护,或攻击者可绕过 ASLR 防护机制,该漏洞还可能被用于远程执行恶意代码。(CVE-2026-9256)

漏洞触发条件:

  1. rewrite 指令使用了含有不同但相互重叠的 PCRE 捕获组的正则表达式(例如 ^/((.*))$);
  2. 同时,该指令的替换字符串在 redirect 或 arguments 上下文中引用了多个此类捕获组(例如 $1$2)。

漏洞影响:

该漏洞可使远程攻击者对 NGINX 系统发起拒绝服务(DoS)攻击,或有可能实现代码执行。漏洞不涉及控制面安全风险,仅影响数据面。

缓解措施:

在 rewrite 规则中使用命名捕获组替代匿名捕获组

示例中这条 rewrite 指令采用了 PCRE 匿名捕获分组,通过$1、$2引用捕获内容:

rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;

针对该示例修复漏洞:将$1、$2替换为对应的命名捕获变量$user_id与$section,修改后配置:

rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;

CVSS评分/等级:

High/8.1 (CVSS v3.1) 、Critical/9.2 (CVSS v4.0)

影响平面:

数据平面

受影响版本:

NGINX Plus / R32 - R36、37.0.0、NGINX Open Source / 1.0.0 - 1.30.0、1.31.0、0.1.17 - 0.9.7

修复版本:

NGINX Plus / R36 P5、R32 P7、NGINX Open Source / 1.31.1、1.30.2


建议措施

如果您正在运行受影响版本列中列出的版本,可通过安装修复版本列中对应的版本来消除该漏洞。

若修复版本列中未列出您所在版本分支的修复版本,则该分支目前暂无可用更新,F5 建议您升级至已包含修复的版本。

若已引入修复版本列中,在同一分支下列出的版本早于您当前运行的版本,则说明您所用版本已包含该修复。

获取 F5 帮助:

如果您需要 F5 提供专业服务支持或者NGINX Plus商业版软件,请致电 F5 4009918366 或与 F5 商务取得联系。


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

更多 NGINX 相关的技术干货、互动问答、系列课程、活动资源: 开源社区官网 | 微信公众号 | B 站


已修改于2026-07-16 14:06
本作品系原创
创作不易,留下一份鼓励
NGINX官方账号

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
NGINX官方账号
这家伙很懒还未留下介绍~
335
文章
21
问答
201
粉丝
相关文章
介绍nginx网页配置工具QQ技术交流群1:1106758598QQ技术交流群2:560797506邮箱: cym1102@qq.com官网地址: http://www.nginxwebui.cn码云: https://gitee.com/cym1102/nginxWebUIgithub: https://github.com/cym1102/nginxWebUI功能特点nginxWebUI也可管理多个nginx服务器集群,随时一键切换到对应服务器上进行nginx配置,也可以一键将某台服务器配置同步到其他服务器,方便集群管理.部署此项目后,配置nginx再也不用上网各种搜索配置代码,再也不用手动申请和配置ssl证书,只需要在本项目中进行增删改查就可方便的配置和启动nginx。技术说明本项目是基于springBoot的web系统,数据库使用sqlite,因此服务器上不需要安装任何数据库项目启动时会释放一个.sqlite.db到系统用户文件夹中,注意进行备份本系统通过Let'sencrypt申请证书,使用acme.sh脚本
点赞 6
浏览 26.1k
  前三周学习了陶辉老师的“NGINX基础培训系列课程”,感觉受益良多,在这里想把一些知识点记录一下,和大家分享一下知识点,也方便日后的随手查看,温故知新。  首先,我们了解到了Nginx的版本,Nginx发布版本分为主线版本和稳定版本,区分两个版本也非常简单,主线版本版本号为单数,比如1.19,稳定版本为双数,比如1.18,今天我要说的是稳定版本,这个版本会尽量少的减少Nginx的bug问题,适用于生产环境,这里我不建议使用Nginx和其他软件一样在生产环境中落后一个或多个大版本使用,之前生产环境做过漏扫,发现我们编译自带的Nginx版本为:nginx/1.13.3(查询命令为nginx-V),结果出现了多个漏洞,四个高危和一个中危漏洞:        通过升级Nginx到稳定版最新版本后修复!  其次,是Nginx发行版本的选择,目前比较流行的有:nginx、nginxplus、Tengine、openresty、ope
点赞 1
浏览 19.3k
感谢您参加“NGINX从入门到精通进阶系列培训”!以下为培训的问答、课件和录像,希望您能通过此培训学有所得,祝学习进步!>问与答:- 基础篇+高级篇 - 应用篇+实战篇(New)>课件(PPT):基础篇:-NGINX概要、安装、配置:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-Setup.pdf-NGINX日志、运维:https://interact.f5.com/rs/653-SMC-783/images/cnfeb22-nginxcorecourse-maintenance.pdf高级篇:-NGINX变量、API:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-API.pdf-NGINXSSL、NJS:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-SSL.pdf
点赞 10
浏览 21.9k