2026 年 nginx 21 个 CVE 修复版本矩阵:9 月 HTTP/3 堆溢出与两个 major 漏洞
nginx.org 在 2026 年收录了 21 个带 2026 CVE 编号的安全公告,修复分布在 2026 年 2 月 4 日到 9 月 15 日之间发布的 7 个版本中。
修复版本矩阵(Mainline / Stable)
| 发布日期 | Mainline | Stable | 修复的 CVE |
|---|---|---|---|
| 2026-09-15 | 1.31.6 | 1.30.5 | CVE-2026-90439 |
| 2026-07-15 | 1.31.3 | 1.30.4 | CVE-2026-42533、CVE-2026-60005、CVE-2026-56434 |
| 2026-06-17 | 1.31.2 | 1.30.3 | CVE-2026-42530(仅 mainline)、CVE-2026-42055、CVE-2026-48142 |
| 2026-05-22 | 1.31.1 | 1.30.2 | CVE-2026-9256 |
| 2026-05-13 | 1.31.0 | 1.30.1 | CVE-2026-42926、CVE-2026-42945、CVE-2026-42946、CVE-2026-42934、CVE-2026-40460、CVE-2026-40701 |
| 2026-03-24 | 1.29.7 | 1.28.3 | CVE-2026-27654、CVE-2026-27784、CVE-2026-32647、CVE-2026-27651、CVE-2026-28753、CVE-2026-28755 |
| 2026-02-04 | 1.29.5 | 1.28.2 | CVE-2026-1642 |
CVE-2026-90439:HTTP/3 + OpenSSL <= 3.5.0 的 TLS 握手堆溢出
2026-09-15 公告,CVSS 6.5 Medium。当 ngx_http_v3_module 启用 HTTP/3,且 nginx 使用 OpenSSL 3.5.0 或更早版本构建时,TLS 握手处理过程中可能发生有限堆缓冲区溢出。该溢出是非确定性的,攻击者无法完全控制,后果可能是 worker 进程重启或有限的数据损坏。
影响范围 1.29.2 至 1.31.5,修复于 mainline 1.31.6 / stable 1.30.5。
nginx 将其标为 Medium:只有在对外服务 HTTP/3、同时 nginx 又是用 OpenSSL 3.5.0 或更早版本构建时才相关。但升级到 1.31.6 是最简单的答案。
两个被 nginx 标为 major 的 CVE
CVE-2026-42533:map 指令的正则与捕获变量
map 指令使用正则匹配,且字符串表达式在引用 map 输出变量之前引用了正则捕获变量;或在特定条件下使用了不可缓存变量,可导致 worker 堆溢出并重启。在关闭 ASLR,或攻击者能够绕过 ASLR 的情况下,可实现代码执行。
修复于 1.31.3 / 1.30.4。(站内已有单篇分析 #7779)
CVE-2026-42530:仅 1.31.0 / 1.31.1 的 HTTP/3 UAF
只影响 1.31.0 与 1.31.1 的 HTTP/3,构造 QUIC 会话可触发 use-after-free,修复于 1.31.2。
其余几条值得单独记一下的
两个 rewrite 模块漏洞 CVE-2026-9256 与 CVE-2026-42945 被标为 medium,但发布说明中提到“可能任意代码执行”:
- CVE-2026-9256:rewrite 使用不同且重叠的 PCRE 捕获(如
^/((.*))$),且替换串引用多个捕获(如$1$2)时触发。 - CVE-2026-42945:rewrite 模块处理构造请求时触发。
CVE-2026-48142 是 charset 模块在同一配置中同时使用 source_charset utf-8 与 charset 指令时的堆越界读,可能泄露内存或导致重启。CVE-2026-40460 则是 HTTP/3 的客户端地址欺骗。
该升到哪个版本
截至 2026-10-07,只要运行到 mainline 1.31.6 或 stable 1.30.5(两者均于 2026-09-15 发布),就包含 nginx.org 列出的全部 2026 年修复。版本低于这两者,至少缺少 9 月那一个修复,或者更早的若干修复。
自查方法
nginx -v
拿到版本号后对照上面的版本矩阵:先看是否低于 1.31.6 / 1.30.5,再根据实际启用的模块(HTTP/3、map、rewrite、charset)确认对应 CVE 是否落在自己的版本区间内。
参考链接
- nginx 安全公告列表:https://nginx.org/en/security_advisories.html
- 2026 年全部 CVE 与修复版本整理:https://toshost.com/blog/nginx-security-updates-2026-all-cves-fixed-versions
- CVE-2026-90439:https://cve.circl.lu/cve/CVE-2026-90439
- CVE-2026-42533(AWS ALAS):https://explore.alas.aws.amazon.com/CVE-2026-42533.html