NGINX 1.31.0 再曝致命零日:补丁刚打完,新漏洞又撕开了口子
摘要:NGINX服务器近期接连曝出高危漏洞。继CVE-2026-42945漏洞后,NebulaSecurity实验室又在1.31.0版本中发现新型远程代码执行漏洞nginx-poolslip,该漏洞可绕过ASLR防护,威胁全球数百万台服务器。尽管F5已紧急发布补丁,但新漏洞表明修复并不彻底。当前建议采取临时防御措施,包括隔离管理端口、启用WAF、检查ASLR配置等。值得注意的是,这两个漏洞均由AI
五月的安全圈注定不太平。就在全球运维团队忙着给 NGINX 升级到 1.31.0、以为终于能睡个安稳觉的时候,Nebula Security 实验室的一则推文直接把所有人拽回了战位。他们旗下那个叫 Vega 的 AI 安全代理,在最新稳定版里又刨出了一个远程代码执行漏洞,代号 nginx-poolslip。 disclosed 日期是 2026 年 5 月 21 日,距离 F5 发布 CVE-2026-42945 的修复补丁仅仅过去八天。
这事儿讽刺的地方在于,1.31.0 这个版本本身就是来救火的。往前数两周,那个潜伏了十八年的 nginx-rift(CVE-2026-42945,CVSS v4 评分 9.2)刚被 depthfirst 的团队用 AI 审计平台挖出来,影响面覆盖了从 0.6.27 到 1.30.0 的所有版本,全球大约五百七十万台暴露在公网上的 NGINX 服务器都在射程内。F5 连夜打了补丁,开源版推了 1.31.0 和 1.30.1,企业版 Plus 也更新了 R36 P4。各大云厂商、Linux 发行版跟着同步, AlmaLinux、Ubuntu、Debian 的仓库里新包刚就位,管理员们还没来得及把咖啡喝完,就发现自己升级了个寂寞。

内存池里的"滑移":ASLR 也不是护身符
nginx-poolslip 的命名本身就暴露了攻击路径——它玩的是 ngx_pool_t 结构的"滑移"。和 rift 那种堆缓冲区溢出不同,这次漏洞直接扎进了 NGINX 的内部内存池分配逻辑。攻击者通过构造特殊的 HTTP 请求,能在内存池级别制造损坏,进而劫持控制流。
更棘手的是,这个漏洞被描述为具备 ASLR 绕过 能力。地址空间布局随机化向来是操作系统抵御内存破坏型攻击的最后一道防线,把堆、栈、库的加载地址随机打散,让攻击者摸不到跳转目标。如果 Nebula Security 的披露属实,nginx-poolslip 能在 ASLR 开启的环境下仍然找到稳定的利用路径,这意味着它的利用门槛比 rift 低得多。rift 虽然也能 RCE,但前提是目标系统关闭了 ASLR,而现实里大多数 Linux 发行版默认是开着的。poolslip 要是真能绕过,那威胁等级得往上再拔一档。
Nebula Security 在推文里说得直白:rift 的补丁没清干净底子。他们给上游报了漏洞,但按照 30 天负责任披露的节奏,完整的技术 writeup——包括 ASLR 绕过的具体手法——要等官方补丁发布满一个月之后才公开。截至目前,既没有 CVE 编号,F5 和 NGINX 项目方也还没放出任何针对性修复。全球跑在 1.31.0 上的那些反向代理、负载均衡、API 网关,眼下正裸奔。

三十到四十的占比,意味着没有旁观者
NGINX 支撑着全球三成到四成的 Web 服务器,这个数字放在平时是市场份额的荣耀,放在漏洞披露日就是灾难的放大器。从 Netflix 这种流量巨兽到创业公司的一个 K8s Ingress Controller,从传统四层负载到七层 API 网关,NGINX 的触角几乎伸进了每一处互联网基础设施的缝隙。1.31.0 又是最新稳定分支,理论上应该是最安全的选择——结果它成了 poolslip 的直接靶子。那些老老实实跟进版本、想避开 rift 的组织,现在反而站到了新漏洞的枪口前。
这种"补丁链式翻车"在安全史上不算新鲜事,但每次发生都足以让运维团队怀疑人生。你按最佳实践走了升级流程,验证了配置兼容性,做了灰度发布,最后发现新版本自带更狠的零日。心理打击之外,更现实的问题是:在官方修复出来之前,到底能做什么?
没有补丁的日子,先把自己裹紧
既然 CVE 还没分配,代码层面的根治无从谈起,只能先靠外围防御和配置收缩来争取时间。
最实际的几步:把 NGINX 的管理界面和任何非必要端口从公网撤下来,用 WAF 在前面挡一道,过滤掉可疑的 HTTP 载荷。系统层面确认 ASLR 处于强制模式,Linux 下检查 /proc/sys/kernel/randomize_va_space 是否为 2,虽然 poolslip 声称能绕,但开着总比关着强。
配置侧需要重点审计 rewrite、if、set 这几类指令。rift 的教训已经摆在那里:未命名 PCRE 捕获组(比如 $1、$2)配合带问号的替换字符串,再跟一条后续指令,就是触发堆损坏的经典配方。poolslip 虽然机制不同,但同样扎根在内存池和请求处理的交叉地带。把配置里那些用了未命名捕获的 rewrite 规则翻出来,能改成命名捕获的尽量改,能删的冗余逻辑直接删。这不是根治,但能把攻击面削薄一层。
手里握着核心基础设施、对稳定性要求极高的团队,也可以趁这个窗口评估一下替代方案。Cloudflare 开源的 Pingora 用 Rust 重写,内存安全特性天生免疫这类 C 语言级别的内存池漏洞。当然,迁移成本不低,权当是个中长期备案。

AI 挖洞,人类擦屁股
值得玩味的是,rift 和 poolslip 都是 AI 安全代理的成果。depthfirst 的平台刨出了那个十八年的老洞,Nebula Security 的 Vega 又在补丁版里续上了新篇。AI 审计代码的速度和深度显然已经跨过了某个临界点,能在人类审计师眼皮底下遗漏的缝隙里找到利用链。这对防御方是双刃剑:一方面漏洞发现得更快,另一方面漏洞披露的节奏也在加快,留给运维的缓冲时间被压缩得更短。
Nebula Security 承诺三十天后放完整细节,这既是给 F5 施压,也是给全球管理员敲了个倒计时闹钟。接下来的一个月,安全社区会盯着 F5 的安全公告频道,运维团队会守着各自的 WAF 日志,而跑在 1.31.0 上的千万台服务器,只能先在临时缓解措施里硬撑。
补丁总会来,但补丁之前的每一分钟,都是真实的暴露窗口。对于把 NGINX 当作基础设施底座的组织来说,这段日子不会太好过。订阅 F5 的安全推送,把紧急补丁流程预热到随时能点火的状态,可能是眼下最务实的准备。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)