先说结论:

如果你的服务器还在跑 Nginx 1.30.0 及以下版本,现在就去升级。不是"有空再看",是现在


事情是这样的

就在昨天,Nginx 官方安全公告页面悄悄更新了。一口气修了5 个 CVE,全部在新版本 1.31.0(主线版)和 1.30.1(稳定版)中得到修复。

Hacker News 上的帖子评分超过 267 分,几百条评论,讨论热度和上次 Log4Shell 刚爆出来的时候有一拼。

然后有人在 GitHub 上发了 PoC。

事情就从"安全更新"变成了"快去修"。


这 5 个漏洞,哪个最危险?

先看清楚在修什么:

CVE-2026-42945 — ngx_http_rewrite_module 缓冲区溢出 严重等级:Medium 受影响版本:0.6.27 - 1.30.0

是的,你没看错。

0.6.27 是 2008 年发布的版本。 这个缓冲区溢出漏洞,在 Nginx 的代码里安安静静躺了将近 18 年,等着被人发现。

rewrite 模块是什么?几乎每一个用 Nginx 做反向代理、做 URL 重写的配置都会用到它。rewrite ^/(.*)$ /index.php?path=$1 last; ——运维工程师每天写这种配置,谁能想到底层有个溢出等着你。

CVE-2026-42946 — scgi/uwsgi 模块缓冲区越界读 严重等级:Medium 受影响版本:0.8.42 - 1.30.0

用 Django、Flask、PHP-FPM 通过 uwsgi 协议接入 Nginx 的站点,都在这个漏洞的射程里。

CVE-2026-42926 — HTTP/2 请求注入 严重等级:Medium 受影响版本:1.29.4 - 1.30.0

开了 HTTP/2 的站点注意了。攻击者可以构造特殊请求注入额外 HTTP 头,绕过认证或缓存投毒。

CVE-2026-40460 — HTTP/3 地址欺骗 严重等级:Medium 受影响版本:1.25.0 - 1.30.0

刚升到 HTTP/3 的同学,这个没跑掉。

CVE-2026-40701 — OCSP 中的 resolver use-after-free 严重等级:Medium 受影响版本:1.19.0 - 1.30.0

use-after-free,经典崩溃/任意执行前置手法。启用了 OCSP stapling 的 HTTPS 站点,留意一下。


为什么这次比较危险?

单个漏洞 Medium 级别,听起来没那么恐怖。

但这里有个现实问题:

你的服务器跑的是什么版本?

Ubuntu 22.04 LTS 默认源里的 Nginx 是 1.18.0。
Ubuntu 24.04 LTS 默认源里的 Nginx 是 1.24.0。
CentOS/RHEL 用户很多人还在 1.20.x。
Docker 镜像 nginx:stable 当前 tag 对应 1.30.1。

上面每一个,全部都在 5 个 CVE 的受影响范围内。

更危险的是:PoC 现在公开了。安全研究员和攻击者都能看到。

漏洞从发现到大规模利用,一般有个窗口期。这个窗口通常是 72 小时到 2 周。之后就是批量扫描、自动化攻击、honeypot 里大量告警。


你要做什么

Step 1:检查版本

1
nginx -v

如果输出不是 nginx/1.31.0nginx/1.30.1,你需要升级。

Step 2:升级到安全版本

1
2
3
4
5
6
# Ubuntu/Debian 用官方 PPA:
sudo add-apt-repository ppa:nginx/stable
sudo apt update && sudo apt upgrade nginx

# 或者用官方源(推荐)
# 参考:https://nginx.org/en/linux_packages.html

Docker 用户:

1
2
3
docker pull nginx:1.30.1  # 稳定版
# 或
docker pull nginx:1.31.0  # 主线版

Step 3:重启服务确认

1
2
sudo systemctl restart nginx
nginx -v  # 确认已更新

Step 4:检查是否使用了高危模块

  • 用了 rewrite 指令?重点看 CVE-2026-42945
  • 用了 uwsgi/scgi 后端?看 CVE-2026-42946
  • 开了 HTTP/2 (listen 443 ssl http2;)?看 CVE-2026-42926
  • 配置了 OCSP stapling (ssl_stapling on;)?看 CVE-2026-40701

那些"等等看"的理由,都不成立

“我的服务器在内网。”
→ 内网横向渗透是最常见的路径,你的内网 Nginx 已经是攻击链的一环。

“我开了 WAF。”
→ WAF 过滤的是已知 pattern,PoC 刚出来的漏洞 WAF 规则库还没跟上。

“我的 Nginx 只做静态资源。”
→ HTTP/2 注入和 rewrite 溢出不需要你跑动态业务,只要开了对应模块就够了。

“升级要走审批流程,下周才能搞。”
→ 这是你的风险,但你应该让你的老板知道这个决定意味着什么。


最后说一句

全球约 2.5 亿个站点在使用 Nginx。

一个 18 年历史的缓冲区溢出漏洞,加上 PoC 公开,加上大多数服务器还在用默认源的老版本。

这不是"可能发生",这是"迟早发生"。

你要做的只有一件事:apt upgrade nginx,然后重启。

两分钟的事。


官方安全公告:https://nginx.org/en/security_advisories.html
修复版本:Nginx 1.31.0(主线)/ 1.30.1(稳定)


Max | Sky 科技媒体 | 2026-05-15