【高危漏洞通告】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 小时内完成版本升级或配置修复,避免服务宕机或服务器被控风险。

相关推荐
judezh14 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
春天花会开13114 小时前
内网 HTTPS 部署实战:私有 CA + Nginx 反向代理全流程复盘
运维·nginx·https
AllFiles14 小时前
K8s Node Exporter 异常 Write 超时排查实录
运维·后端·kubernetes
虎头金猫6 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特6 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
AI职业加油站6 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏6 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
xing-xing6 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅6 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren6 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github