找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

520

积分

0

好友

78

主题
发表于 昨天 23:46 | 查看: 5| 回复: 0

2025年12月5日,Cloudflare经历了一次全球范围的服务中断,故障从大约08:47 UTC开始,至09:12 UTC结束。

图片

此次事故影响了约28%的Cloudflare HTTP流量。

根本原因:为紧急应对公开且严重的CVE-2025-55182(“React2Shell”/React Server Components漏洞),在对WAF(Web应用防火墙)逻辑进行全球配置变更时,触发了遗留代理(FL1)中一段“killswitch + execute-rule”的Bug,导致对部分流量错误返回HTTP 500。

为何要紧急变更WAF以应对React漏洞?

CVE-2025-55182是一个影响广泛的远程代码执行漏洞,主要影响使用React/Next.js等框架中“React Server Components”功能的应用。

为了保护大量使用React/Next.js的客户,Cloudflare决定通过其WAF部署新的托管规则集,以检测并拦截潜在的恶意请求。作为防护措施的一部分,Cloudflare将HTTP请求体的缓冲区大小从128KB扩大至1MB,以便WAF能够检查并拦截体积较大的恶意负载。

事故经过与根因深度分析

根据Cloudflare官方的事后报告及外部复盘,故障的触发机制如下:

  1. Cloudflare的规则集系统中,每条规则包含一个过滤器(用于判断请求是否匹配)和一个动作(对匹配的流量执行的操作)。典型的动作有blocklogskip,还有一种特殊的execute动作,用于触发对另一个子规则集的评估(即嵌套规则集)。

  2. 为了快速禁用一个内部用于测试的WAF规则,Cloudflare启用了其“全局配置 + killswitch”系统。该系统允许对指定规则发出skip/disable指令,并立即下发到全球所有边缘节点。

  3. 关键问题在于:这是首次对一条动作为execute的规则使用killswitch。当跳过该规则时,其对应的rule_result.execute对象未被创建(值为nil),但后续的一段老旧Lua代码仍假设该对象存在,并尝试访问其字段(例如rule_result.execute.results):

if rule_result.action == "execute" then
  rule_result.execute.results = ruleset_results[...]
end

由于rule_result.executenil,Lua解释器报错“attempt to index field ‘execute’ (a nil value)”——这导致代理(FL1)进程崩溃或无法正确处理请求,进而对受影响的流量返回HTTP 500错误。

  1. 由于Cloudflare的旧版代理(FL1)采用了“故障即关闭”的错误处理逻辑——一旦遇到代码异常(如空指针或Lua错误)就直接拒绝请求,而不是降级处理或回退到安全默认状态——这种设计最终导致了大规模的服务中断。

  2. 此问题仅对使用FL1代理且启用了相关托管规则集的客户生效。但由于启用了全局配置killswitch,影响在全球范围内迅速扩散,最终波及了约28%的HTTP流量。

Cloudflare在报告中指出,这段Lua代码错误“已存在多年,但从未因相应的配置组合而被触发过”。这是首次触发该边缘情况,暴露了遗留代码中的技术债务与当前云原生化部署模型相结合所带来的潜在风险。

故障影响与行业警示

多个依赖Cloudflare CDN、WAF或代理服务的网站在数分钟内出现“500 Internal Server Error”,受影响范围包括大型网站、在线服务、游戏及内容平台。

部分主流服务(如加密货币交易所Coinbase、AI服务Claude AI等)确认受到了此次中断的影响。

这至少是Cloudflare在不到一个月内发生的第二次重大故障——连续因安全相关的配置更新导致全球服务中断,严重冲击了其作为互联网核心基础设施供应商的可靠性信任。

此次事件为整个互联网生态敲响了警钟:当全球大量流量高度集中于少数几家基础设施供应商(CDN、WAF、代理)时,一个看似微小的代码缺陷或配置错误,就可能引发跨服务、跨行业的链式反应与大面积崩溃,凸显了现代网络系统复杂性与脆弱性并存的现实。

您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-8 23:06 , Processed in 0.073853 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表