
注本文在大模型辅助下完成。2026年5月Nginx再次曝出严重安全漏洞CVE-2026-42945。根据公开披露的信息这个漏洞存在于 ngx_http_rewrite_module 中属于典型的 Heap Buffer Overflow堆缓冲区溢出问题。攻击者可以通过构造特殊HTTP请求在无需认证的情况下触发Nginx崩溃甚至在某些条件下实现远程代码执行RCE。更令人震惊的是这个漏洞已经在代码中潜伏了整整18年。对于整个基础设施行业来说这并不仅仅是一次普通的安全事件。它实际上再次暴露了一个已经越来越明显的趋势基于C/C这样的内存不安全语言构建网关系统本质上无法彻底避免类似漏洞的持续出现。而对于网关这种直接暴露在公网、每天承受海量恶意流量探测的基础设施来说“安全性”和“稳定性”正在比“极致性能”变得更加重要。一、一个18年的漏洞说明了什么根据漏洞分析CVE-2026-42945 的根本原因是Nginx内部 rewrite 模块在处理PCRE正则捕获组时发生了长度计算与内存拷贝之间的不一致最终导致堆内存越界写入。这其实是C/C世界里最经典的一类问题缓冲区长度计算错误指针越界内存写穿Use-after-freeDouble freeHeap overflow问题在于这类漏洞并不是“某个程序员写错了代码”这么简单。而是C/C语言本身允许程序员直接操作裸内存因此整个系统天然暴露在“内存安全”风险之中。只要代码规模足够大、生命周期足够长、模块足够复杂这类漏洞几乎一定会出现。Nginx已经是全球最优秀的C语言基础设施项目之一代码质量极高社区成熟经历了二十多年生产验证拥有大量安全审计但即便如此一个高危RCE漏洞仍然能够潜伏18年。这说明“依靠工程规范避免内存漏洞”这件事本身已经越来越接近不可能完成的任务。二、为什么网关系统特别危险很多系统即便存在漏洞风险也未必极高。但网关不同。无论是API GatewayIngress GatewayLoad BalancerAI Gateway它们都有一个共同特点直接暴露在公网。这意味着1.攻击面极大攻击者无需认证。只要能够发HTTP请求就可以尝试触发漏洞。这也是为什么几乎所有网关类RCE漏洞都会被定义为高危甚至Critical级别。2.网关位于流量入口网关一旦失守可以窃取流量可以篡改请求可以植入后门可以横向进入内网可以攻击后端服务很多企业认为“网关只是个转发组件。”实际上网关是整个基础设施最核心的边界节点之一。3.网关的配置极其复杂现代网关已经不只是七层代理负载均衡它们往往还承担WAFOAuthJWTLua脚本路由改写动态策略灰度发布插件系统AI流量调度复杂性正在指数级上升。而复杂性正是安全漏洞最大的来源。三、历史已经反复证明C/C网关漏洞会持续出现这并不是Nginx第一次因为内存问题曝出高危漏洞。过去十多年里Nginx已经多次出现Buffer OverflowInteger OverflowMemory CorruptionUse-after-free而且不仅是Nginx。另一个云原生时代最核心的网关项目 —— Envoy也同样如此。Nginx历史上的典型内存漏洞1. CVE-2013-2028这是Nginx历史上最著名的高危漏洞之一。问题出现在 chunked encoding 处理逻辑中。攻击者可以通过构造特殊HTTP请求触发堆缓冲区溢出进而实现远程代码执行。这个漏洞当年影响极大因为无需认证可远程触发影响公网Web服务器其本质仍然是经典的C语言内存边界问题。2. CVE-2021-23017这是Nginx resolver模块中的一个1字节内存覆盖漏洞。虽然看起来只是“1-byte overwrite”但依然可能被利用实现RCE。这种问题在Rust或Go中几乎不可能自然出现。因为Go没有裸指针运算Rust有Borrow Checker两者都具备边界检查机制3. CVE-2026-42945这次的问题更加具有象征意义。因为一个18年都没有被发现的Heap Overflow意味着“人工审计测试”已经不足以保障C/C基础设施的安全。尤其在AI辅助漏洞挖掘越来越成熟之后大量历史代码中的隐藏漏洞未来可能会被更快速地发现。Envoy也长期受到内存安全问题困扰很多人会认为“Envoy属于现代云原生架构因此天然更安全。”但现实并非如此。虽然Envoy在架构设计、可扩展性、热更新、服务治理等方面远远领先传统网关但由于其核心仍然基于C实现因此同样长期受到内存安全问题的困扰。过去几年Envoy已经多次曝出Heap OverflowUse-after-freeInteger OverflowCrashMemory Corruption等问题。这些问题说明即便是现代化C工程体系也无法从根本上消除内存安全风险。Envoy历史上的典型内存漏洞1. CVE-2019-9901HTTP/2实现导致的资源耗尽与崩溃这是Envoy较早期的高危漏洞之一。攻击者可以通过构造特殊HTTP/2请求导致Envoy出现异常资源消耗并最终崩溃。虽然这个漏洞主要表现为DoS但其根源仍然与底层内存与状态管理复杂性有关。问题的关键在于HTTP/2协议状态机极其复杂C实现中存在大量生命周期管理多线程与异步回调进一步增加了风险这也是为什么现代协议栈越来越容易成为内存漏洞高发区。2. CVE-2021-43824Use-after-free风险该漏洞涉及Envoy在连接关闭与异步事件处理过程中的生命周期管理问题。在特定条件下对象已经被释放但异步回调仍然继续访问该对象最终可能导致崩溃非法内存访问潜在远程代码执行风险这类问题正是C最典型、最难彻底解决的问题之一Use-after-free因为在复杂异步系统中人脑很难完全推导所有对象生命周期。而Rust之所以受到越来越多基础设施项目重视一个核心原因就是Rust在语言层面直接禁止了绝大多数Use-after-free问题。3. CVE-2023-35945内存越界导致崩溃该漏洞涉及HTTP头处理逻辑中的异常边界情况。攻击者可以通过特殊请求触发越界访问崩溃服务不可用虽然最终没有形成完整RCE链但本质仍然属于内存边界安全问题而这种问题在C/C项目中极其常见。4. Envoy历史上频繁出现的Crash类漏洞除了正式编号的CVE之外Envoy历史上还长期存在大量segmentation faultinvalid memory accessheap corruptionassertion crash修复记录。尤其在HTTP/2gRPCQUICfilter chaindynamic config等复杂模块中问题更容易出现。原因其实非常直接C允许开发者手工控制对象生命周期而复杂网关系统天然存在海量异步状态。两者叠加之后即便工程体系再优秀也很难完全避免问题。Envoy的问题其实不是Envoy的问题这里有一个非常关键的认知Envoy的问题并不意味着Envoy团队能力不足。恰恰相反。Envoy已经是全球工程质量最高的基础设施项目之一Google / Lyft背景CNCF毕业项目大规模生产验证大量安全审计持续Fuzz测试但即便如此内存问题仍然会不断出现。这恰恰说明问题的根源越来越不是“工程规范”而是“语言本身”。四、为什么Go和Rust正在成为网关的新方向这几年一个非常明显的趋势是越来越多的新一代基础设施正在主动远离C/C。包括云原生组件API GatewayAI GatewayService MeshKubernetes生态大量项目开始转向GoRust原因非常简单内存安全这是Go和Rust最大的价值。GoGo通过GCSlice边界检查无裸指针默认访问内存模型限制消灭了绝大多数Buffer overflowUse-after-freeDouble free问题。RustRust则更进一步。通过OwnershipBorrow Checker生命周期检查在编译阶段直接消灭大量内存错误。这也是为什么微软、Google、AWS、Linux Kernel都在全面推动Rust进入基础设施领域。五、“性能第一”的时代正在结束过去二十年很多基础设施项目都在追求极致性能零拷贝极限QPS最低延迟因此大量系统选择了C/C。但今天行业正在发生变化。因为1. CPU性能已不是瓶颈现代CPU性能相比十年前已经提升巨大。很多网关场景真正瓶颈不在语言而在网络、上游服务、数据库Go网关即便性能比Nginx低20%很多场景依然完全够用。2.稳定性远比极限性能重要对于企业来说“每秒少处理10万请求”和“被RCE攻破”相比哪个更严重答案显而易见。3.运维成本比性能更昂贵一个高危漏洞带来的成本包括漏洞修复紧急升级流量切换安全审计停机风险合规风险这些成本远高于CPU多消耗20%。六、为什么BFE这类Go网关值得关注这几年一个值得关注的趋势是越来越多国产基础设施开始主动采用Go实现网关。例如BFE官方项目这类系统的核心价值并不仅仅是云原生易扩展Kubernetes友好更重要的是它们天然具备更高的内存安全性。当然这并不意味着“Go系统绝对没有漏洞”。任何复杂系统都会有逻辑漏洞权限漏洞配置漏洞但至少最危险、最难防御、最容易直接RCE的“内存破坏类漏洞”会大幅减少。这对于公网网关来说意义非常巨大。七、AI时代C/C基础设施将面临更大压力这次CVE-2026-42945还有一个非常值得注意的细节研究人员表示该漏洞是借助AI辅助发现的。这意味着漏洞发现的成本正在急剧下降过去需要资深安全研究员花费数周甚至数月今天AI可以扫描大量历史代码自动推导危险路径自动生成PoC未来几年大量历史C/C基础设施中的隐藏漏洞可能会被持续挖掘出来。而互联网入口层恰恰是最容易被攻击者利用的地方。八、结语Nginx这次18年的高危漏洞并不是一个孤立事件。它实际上反映了整个基础设施行业正在面对的一次深层转向在网络基础设施领域“内存安全”正在成为比“极致性能”更重要的能力。过去C/C代表高性能高性能代表最佳实践但未来GoRustMemory Safe Infrastructure可能才是真正的长期方向。尤其对于API GatewayAI GatewayIngressLoad BalancerEdge Gateway这些直接暴露在互联网边界的系统来说“不被攻破”正在比“快20%”更加重要。作者简介章淼博士1994年进入清华大学计算机科学与技术系学习2004年获得博士学位2004年至2006年在清华大学留校任教在清华期间曾参与中国第一代核心路由器的研制工作。2012年起在百度工作超过十年聚焦云网络基础架构的研发工作是BFE开源项目的发起人。在百度期间积极推动软件工程能力提升曾担任百度代码规范委员会主席2021年10月被授予百度代码规范委员会荣誉主席。2022年出版《代码的艺术用工程思维驱动软件开发》。2023年4月起担任瑛菲网络CEO聚焦研发面向云和大模型场景的现代化流量管理平台。