Pular para o conteúdo principal

CVE-2025-55182: RCE no React Server Components

ID do boletim: AWS-2025-030
Escopo:
AWS
Tipo de conteúdo:
Importante (requer atenção)
Data de publicação: 03/12/2025 19:45 PST


Descrição:

A AWS está ciente da recente divulgação da CVE-2025-55182, que afeta o protocolo React Server Flight nas versões 19.0, 19.1 e 19.2 do React, bem como nas versões do Next.js 15.x, 16.x, Next.js 14.3.0-canary.77 e versões de canários posteriores ao usar o App Router. Essa vulnerabilidade pode permitir a execução remota não autorizada de código (RCE) em servidores de aplicações afetados.

A AWS está ciente da CVE-2025-66478, que foi rejeitada e considerada uma duplicata da CVE-2025-55182.

Os clientes que utilizam serviços da AWS gerenciados não foram afetados, e nenhuma ação é necessária. Os clientes que executam uma versão afetada do React ou Next.js em seus próprios ambientes devem atualizar imediatamente para as versões corrigidas mais recentes:

  • Os clientes que utilizam o React 19.x com Funções de servidor e Componentes RSC devem atualizar para as versões corrigidas mais recentes 19.0.1, 19.1.2 e 19.2.1
  • Os clientes que utilizam o Next.js 15-16 com o App Router devem atualizar para uma versão corrigida

A versão padrão (1.24) do AWS WAF “AWSManagedRulesKnownBadInputsRuleSet” agora inclui a regra atualizada para essa vulnerabilidade. Como medida de proteção provisória, os clientes podem implementar uma regra do AWS WAF personalizada para ajudar a detectar e impedir tentativas de exploração, quando aplicável. Consulte “Adicionar uma regra personalizada do AWS WAF” abaixo.

A AWS está monitorando ativamente as atualizações sobre essa vulnerabilidade. Se precisar de mais detalhes ou assistência, abra um caso com o AWS Support.

Adicionar uma regra personalizada do AWS WAF (Web Application Firewall)

Para adicionar uma defesa profunda contra essa vulnerabilidade, você pode implantar uma regra do AWS WAF personalizada. A regra do AWS WAF a seguir está atualmente definida como BLOCK. Recomendamos testar essa regra personalizada para garantir que ela não cause interrupções no seu ambiente.

.

json
{
  "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"
  }
}

Envie um e-mail para aws-security@amazon.com com qualquer dúvida ou preocupação sobre segurança.