NGINX修复自2011年就引入的高危安全漏洞 在特定配置下可以触发远程代码执行

NGINX修复自2011年就引入的高危安全漏洞 在特定配置下可以触发远程代码执行

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

NGINX发布新版本修复自2011年起存在的高危漏洞CVE-2026-42533,特定配置下可致崩溃或远程代码执行。漏洞源于正则map指令处理缓冲区溢出,影响0.9.6至1.31.2版本。建议升级至1.30.4或1.31.3版,临时缓解可用命名捕获,但需彻底升级。

🔎

延伸解读

漏洞影响范围与配置条件

该漏洞并非影响所有NGINX实例,仅在特定配置下可被利用。具体而言,当使用基于正则表达式的map指令,且相关变量在字符串表达式中引用正则匹配产生的捕获值时,可能触发缓冲区溢出。因此,未使用此类配置的服务器风险较低,但使用正则map的开发者需高度警惕。

升级与缓解措施

F5已发布修复版本:稳定版1.30.4、主线版1.31.3,商业版NGINX Plus需升级至37.0.3.1。若暂时无法升级,可临时将正则map改为命名捕获(如(?<name>...))替代编号捕获(如$1、$2),以降低风险。但需注意,此缓解措施仅覆盖主要利用路径,仍存在变体风险,彻底修复仍需升级。

漏洞历史与评分

该漏洞自2011年发布的0.9.6版本起存在,影响范围广泛,直至近期才被发现。CVSS评分在4.0体系下为9.2分(高危),在3.1体系下为8.1分(高),攻击复杂度高。尽管评分较高,但利用条件苛刻,需特定配置,实际攻击门槛较高。

Q&A

NGINX 最近修复的高危漏洞 CVE-2026-42533 是什么?

CVE-2026-42533 是 NGINX 中一个存在已久的高危漏洞,自 2011 年发布的 0.9.6 版本起就存在,直到近期才被发现。在特定配置下,攻击者可以利用该漏洞导致 NGINX Worker 崩溃或触发远程代码执行。

CVE-2026-42533 漏洞的触发条件是什么?

该漏洞的触发条件与特定配置有关,主要出现在使用基于正则表达式的 map 指令时,并且相关变量需要在字符串表达式中引用前面正则匹配产生的捕获值(如 $1、$2)才能触发。

CVE-2026-42533 漏洞的成因是什么?

漏洞的成因是 NGINX 在处理这类表达式时,会先计算所需缓冲区大小再写入内容,但在特定配置下,中间的正则匹配会改变捕获状态,导致分配的缓冲区大小与实际写入内容不一致,从而引发堆栈缓冲区溢出。

CVE-2026-42533 漏洞影响哪些 NGINX 版本?

受影响的版本范围为 0.9.6 至 1.31.2,即从 2011 年发布的 0.9.6 版本开始,直到 1.31.2 版本都存在该漏洞。

CVE-2026-42533 漏洞的 CVSS 评分是多少?

F5 按照不同 CVSS 版本给出了评分:在 CVSS 4.0 体系下评分为 9.2 分,在 CVSS 3.1 体系下评分为 8.1 分。攻击复杂度为高。

如何修复 CVE-2026-42533 漏洞?

建议升级到不受影响的新版本:稳定版升级到 NGINX 1.30.4,主线版升级到 NGINX 1.31.3,商业版升级到 NGINX Plus 37.0.3.1。如果暂时无法升级,可以部署缓解措施,例如将受影响的正则 map 配置为命名捕获,避免使用 $1、$2 等编号捕获值。

临时缓解措施(如使用命名捕获)是否完全有效?

不完全有效。安全研究员指出,命名捕获只能覆盖主要利用路径,在非常特定的配置下仍存在变体风险,因此临时缓解方案只能作为过渡,彻底解决必须升级到修复版本。

🏷️

标签

➡️

继续阅读