【高危漏洞通告】NGINX ngx_http_rewrite_module 堆缓冲区溢出漏洞;详解与修复方案
CVE-2026-9256 是 NGINX rewrite 模块的高危堆溢出漏洞,POC 公开、利用门槛低,虽暂无在野利用,但需紧急处置。建议运维团队 24 小时内完成版本升级或配置修复,避免服务宕机或服务器被控风险。
2026 年 5 月 22 日,NGINX 官方修复ngx_http_rewrite_module 模块堆缓冲区溢出漏洞(CVE-2026-9256),奇安信 CERT 已完成漏洞复现,漏洞 POC 与技术细节已公开,影响万级线上服务。该漏洞可导致服务拒绝服务,特定条件下可实现未授权任意代码执行,运维与安全人员需立即自查修复。
一、漏洞核心信息
表格
| 项目 | 详情 |
|---|---|
| 漏洞名称 | NGINX ngx_http_rewrite_module 堆缓冲区溢出漏洞 |
| 漏洞编号 | CVE-2026-9256、QVD-2026-28076 |
| 公开时间 | 2026-05-22 |
| 威胁等级 | 高危(CVSS 3.1 评分:8.1) |
| 威胁类型 | 远程代码执行、拒绝服务(DoS) |
| 利用条件 | 无需身份认证、利用可能性高 |
| POC/EXP 状态 | POC 已公开、EXP 未公开 |
| 在野利用 | 未发现 |
二、漏洞原理与安全危害
1. 漏洞原理
漏洞出现在 NGINX 核心内置模块ngx_http_rewrite_module(负责 URL 重写 / 重定向、正则路由)。 当配置中rewrite指令同时满足:
- 正则表达式包含重叠捕获组(如
^/((.*))$) - 替换字符串在重定向 / 参数上下文引用多个重叠捕获组(如
$1$2) 模块会错误计算输出缓冲区大小,引发内存拷贝越界,触发堆缓冲区溢出。
2. 安全危害
- 未认证攻击者发送构造 HTTP 请求,直接导致Worker 进程崩溃,服务不可用;
- 若服务器ASLR 被禁用或绕过,攻击者可进一步利用漏洞实现远程任意代码执行,控制服务器。

三、漏洞利用必备条件
漏洞并非全版本默认触发,需同时满足以下 2 条配置规则:
- rewrite 指令的正则表达式含重叠捕获组(示例:
^/((.*))$); - 替换字符串在重定向(redirect)或参数(arguments) 上下文,引用多个重叠捕获组(示例:
$1$2)。
四、受影响版本范围
1. NGINX 开源版(Open Source)
- 0.1.17 ≤ 版本 ≤ 0.9.7
- 1.0.0 ≤ 版本 ≤ 1.30.1
- 1.31.0
2. NGINX 商业版(Plus)
- 37.0.0
- R32 ≤ 版本 < R32 P7
- R36 ≤ 版本 < R36 P5
3. 衍生组件
NGINX Instance Manager、F5 WAF for NGINX、NGINX App Protect、NGINX Gateway Fabric、NGINX Ingress Controller 等对应版本均受影响,详见官方通告。
五、漏洞复现情况
奇安信威胁情报中心已成功复现该漏洞,验证构造请求可稳定触发 Worker 进程崩溃,漏洞可利用性得到确认。
六、修复与缓解方案
1. 官方安全更新(推荐,彻底修复)
直接升级至官方已修复版本:
- NGINX Open Source:≥ 1.30.2 或 ≥ 1.31.1
- NGINX Plus:37.* ≥ 37.0.1.1;R32 ≥ R32 P7;R36 ≥ R36 P5
- 衍生组件:升级至修复版,或迁移至已修复的 NGINX 基础版本 官方下载:https://my.f5.com/manage/s/article/K000161377
2. 临时缓解方案(无法立即升级时)
将配置中未命名捕获组($1、$2) 替换为命名捕获组,规避重叠捕获组触发漏洞。
易受攻击配置示例
nginx
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
修复后配置示例
nginx
rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
七、自查与加固建议
- 版本排查:登录服务器执行
nginx -v,核对是否在受影响范围; - 配置扫描:全局检索
nginx.conf及子配置文件,定位含重叠捕获组的 rewrite 指令; - 优先升级:生产环境优先执行官方版本升级,从根源修复;
- 临时防护:无法升级时,按上述方法替换为命名捕获组,重启 NGINX 生效。
总结
CVE-2026-9256 是 NGINX rewrite 模块的高危堆溢出漏洞,POC 公开、利用门槛低,虽暂无在野利用,但需紧急处置。建议运维团队 24 小时内完成版本升级或配置修复,避免服务宕机或服务器被控风险。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)