React服务器组件曝远程代码执行漏洞,AWS WAF提供应急防护规则

本文详细披露了影响React 19.x系列及Next.js 15.x/16.x版本的CVE-2025-66478漏洞。该漏洞本质上是CVE-2025-55182的重复项,可导致React服务器组件遭受远程代码执行攻击。文章提供了官方的修复版本指引,并附上了可部署在AWS WAF中用于检测和阻断攻击的自定义规则配置。

CVE-2025-66478: React 服务器组件中的RCE漏洞

发布日期: 2025/12/03 19:45 PM PDT

描述:

AWS 已知悉近期披露的 CVE-2025-55182,该漏洞影响了 React 19.0、19.1 和 19.2 版本中的 React 服务器 Flight 协议,以及 Next.js 15.x、16.x 版本,和在使用应用路由器的 Next.js 14.3.0-canary.77 及更高版本 Canary 版本中也受影响。此问题可能导致在受影响的应用程序服务器上执行未经授权的远程代码 (RCE)

AWS 已知悉 CVE-2025-66478,该漏洞已被认定为 CVE-2025-55182 的重复项。

使用 AWS 托管服务的客户不受影响,无需采取任何措施。在自有环境中运行受影响版本的 React 或 Next.js 的客户应立即更新到最新的已修复版本:

  • 使用 React 19.x(含服务器函数和 RSC 组件)的客户应更新至最新的已修复版本 19.0.119.1.219.2.1
  • 使用 Next.js 15-16(含应用路由器)的客户应更新到已修复的版本。

AWS WAF “AWSManagedRulesKnownBadInputsRuleSet” 的默认版本 (1.24) 现已包含针对此问题的更新规则。作为临时的保护措施,客户可以在适用的情况下部署自定义的 AWS WAF 规则,以帮助检测和防止漏洞利用尝试。请参阅下文的“添加自定义 AWS WAF 规则”。

AWS 正在积极监控此问题的更新。如果您需要更多详细信息或帮助,请提交 AWS 支持案例。

添加自定义 AWS WAF(Web 应用防火墙)规则

为了针对此问题增加纵深防御,您可以部署自定义的 AWS WAF 规则。以下 AWS WAF 规则目前设置为 BLOCK 模式。我们建议测试此自定义规则,以确保它不会对您的环境造成中断。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
{
  "Name": "ReactJSRCE_CUSTOM",
  "Priority": 99,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "RegexMatchStatement": {
            "RegexString": "POST",
            "FieldToMatch": {
              "Method": {}
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "NONE"
              }
            ]
          }
        },
        {
          "RegexMatchStatement": {
            "RegexString": "(?i)(?:next-action|rsc-action-id)",
            "FieldToMatch": {
              "Headers": {
                "MatchPattern": {
                  "All": {}
                },
                "MatchScope": "KEY",
                "OversizeHandling": "CONTINUE"
              }
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "NONE"
              }
            ]
          }
        },
        {
          "RegexMatchStatement": {
            "RegexString": "(?i)\"status\"\\s*:\\s*\"resolved_model\"",
            "FieldToMatch": {
              "Body": {
                "OversizeHandling": "CONTINUE"
              }
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "URL_DECODE_UNI"
              },
              {
                "Priority": 1,
                "Type": "JS_DECODE"
              },
              {
                "Priority": 2,
                "Type": "UTF8_TO_UNICODE"
              }
            ]
          }
        },
        {
          "RegexMatchStatement": {
            "RegexString": "\\$\\@",
            "FieldToMatch": {
              "Body": {
                "OversizeHandling": "CONTINUE"
              }
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "URL_DECODE_UNI"
              },
              {
                "Priority": 1,
                "Type": "JS_DECODE"
              },
              {
                "Priority": 2,
                "Type": "UTF8_TO_UNICODE"
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "RuleLabels": [
    {
      "Name": "ReactJSRCE_Custom"
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "ReactJS_Custom"
  }
}

如有任何安全问题或疑虑,请发送邮件至 aws-security@amazon.com

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计