【高危漏洞通告】NGINX ngx_http_rewrite_module 堆缓冲区溢出漏洞;详解与修复方案

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 条配置规则:

  1. rewrite 指令的正则表达式含重叠捕获组 (示例:^/((.*))$);
  2. 替换字符串在重定向(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;

七、自查与加固建议

  1. 版本排查:登录服务器执行nginx -v,核对是否在受影响范围;
  2. 配置扫描:全局检索nginx.conf及子配置文件,定位含重叠捕获组的 rewrite 指令;
  3. 优先升级:生产环境优先执行官方版本升级,从根源修复;
  4. 临时防护:无法升级时,按上述方法替换为命名捕获组,重启 NGINX 生效。

总结

CVE-2026-9256 是 NGINX rewrite 模块的高危堆溢出漏洞,POC 公开、利用门槛低,虽暂无在野利用,但需紧急处置。建议运维团队 24 小时内完成版本升级或配置修复,避免服务宕机或服务器被控风险。

相关推荐
众壹新能源科技6 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..6 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
QMCY_jason6 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特6 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
考拉讲支付6 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
LateFrames6 小时前
“场控软件” 如何容错与运维
运维·容错·led大屏·播控系统·场控软件
あ-6 小时前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器
艾伦_耶格宇7 小时前
【DOCKER容器实战】-5 Docker容器镜像的构建
运维·docker·容器
速捷工控 PLC触摸屏还原程序7 小时前
S7-200 SMART程序上传提示密码?维修、改造和换机怎么选处理路径?
运维·服务器