Uma explicação de uma falha de desserialização nos pacotes de Server Components do React que pode levar à execução remota de código sem autenticação. Cobre o que acontece, quem é afetado e como responder, do ponto de vista do defensor e sem etapas de ataque.
- CVE
- CVE-2026-126187 (GHSA-xqc2-xf4c-x3h3; React: Unauthenticated Remote Code Execution in React Server Components)
- Gravidade
- CVSS v4.0 9.5 (crítica; vetor AV:N/AC:L/AT:P/PR:N/UI:N; atribuído pelo GitHub). Análise do NVD pendente em 11 de novembro de 2026
- Tipo
- Desserialização de dados não confiáveis (CWE-502)
- Impacto
- Execução remota de código sem autenticação por meio de cargas manipuladas. O aviso diz que afeta apenas casos extremamente raros em que as respostas transportam vários arrays tipados e um valor controlado pelo atacante
- Afetado
- react-server-dom-webpack, -parcel e -turbopack em 19.0.0 a 19.0.8, 19.1.0 a 19.1.9, 19.2.0 a 19.2.8 e 19.3.0
- Correção
- 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1 (lançadas em 14 de outubro de 2026)
- Publicado
- 10 de novembro de 2026 (CVE e aviso do GitHub)
- Exploração
- Sem relato de exploração. Não está no KEV em 12 de novembro de 2026
Risco de esperar
Não é preciso autenticação, e o sucesso significa código executado no servidor (alto impacto em confidencialidade, integridade e disponibilidade). As condições estreitas ajudam, mas falhas em servidores expostos à internet tendem a ser examinadas depois de se tornarem públicas. Passar para uma versão corrigida publicada é uma tarefa pequena, então este site vê pouco motivo para adiá-la por causa do rigor das condições.
Que tipo de vulnerabilidade é
O aviso do GitHub diz que cargas manipuladas direcionadas a frameworks que oferecem suporte ao React Server Components podem levar à execução remota de código. Está classificada como CWE-502 (desserialização de dados não confiáveis).
- Não é exigida autenticação (PR:N), funciona pela rede e não é necessária interação do usuário (UI:N).
- O aviso diz que afeta apenas casos extremamente raros em que as respostas transportam vários arrays tipados e um valor controlado pelo atacante. O AT:P no vetor CVSS v4 (requisitos de ataque presentes) reflete esse limite (nossa interpretação).
- Os Server Components executam código React no servidor. A falha está nos pacotes que processam esse tráfego.
- O aviso não descreve como a carga é construída nem as condições exatas, e este site também não.
- Já apareceu antes uma falha crítica nesse mecanismo. Veja o panorama de vulnerabilidades do Next.js e do React.
Escopo afetado
| Item | Detalhe |
|---|---|
| Pacotes | react-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack |
| Versões afetadas | 19.0.0 a 19.0.8 / 19.1.0 a 19.1.9 / 19.2.0 a 19.2.8 / 19.3.0 |
| Versões corrigidas | 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1 |
| Não afetados | Aplicações cujo código React não usa um servidor; aplicações que não usam um framework, empacotador ou plugin com suporte a Server Components (segundo o aviso) |
| Soluções alternativas / mitigações | Nenhuma encontrada no aviso |
| Next.js | Nenhuma declaração oficial encontrada. Verifique as versões de react-server-dom-* das suas dependências |
- Os intervalos de versões vêm do corpo do aviso do GitHub. O registro CVE (registrado pelo GitHub) redige as versões de outra forma e seu texto contém um erro de digitação, então conferimos os números das versões corrigidas com o corpo do aviso e os lançamentos do React.
- Os três pacotes são instalados conforme o seu empacotador (webpack, Parcel ou Turbopack). Se houver mais de um, verifique todos.
Como verificar se você é afetado
Verifique se você usa Server Components
Descubra se você usa um framework com suporte a Server Components, como o App Router do Next.js. Uma aplicação que executa React apenas no navegador não é afetada, segundo o aviso.
Verifique as versões de react-server-dom-* no arquivo de bloqueio
Procure em package-lock.json, pnpm-lock.yaml ou yarn.lock por react-server-dom-webpack, react-server-dom-parcel e react-server-dom-turbopack, e veja se a versão cai nos intervalos afetados acima. Eles podem estar presentes como dependência de um framework mesmo que você não os tenha instalado diretamente. Para verificações automáticas de dependências, veja monitorar dependências com o osv-scanner.
Verifique a versão do framework
Frameworks como o Next.js podem incluir ou fixar eles mesmos o react-server-dom-*. Verifique nas notas de lançamento e nos avisos oficiais do framework se há resposta a este CVE. Ao verificarmos em 12 de novembro de 2026, não encontramos declaração oficial do Next.js.
O que fazer hoje
Passe react-server-dom-* para uma versão corrigida ou posterior (prioridade máxima)
Use 19.0.9, 19.1.10, 19.2.9 ou 19.3.1 ou posterior, conforme a linha de lançamento que você usa. Para uma dependência direta, aumente a versão do pacote e atualize o arquivo de bloqueio.
Se você passa por um framework, acompanhe a atualização do framework
Se o framework fixa a versão internamente, aguarde a atualização do framework ou siga sua orientação oficial. Enquanto não houver orientação, verifique você mesmo as versões das dependências e pergunte ao mantenedor se necessário. Use sobrescritas de dependências apenas depois de testar que o framework continua funcionando.
Teste depois de atualizar e então faça o deploy
Verifique as páginas com Server Components e as Server Actions, e então faça o deploy. Confira de novo as versões no arquivo de bloqueio depois da atualização.
Revise os logs
Procure requisições suspeitas aos endpoints de Server Components e erros inesperados do servidor anteriores à atualização. Não há relato de exploração, mas os logs são a única evidência que você pode verificar.
Situação da exploração
- Nem o aviso nem o registro CVE mencionam exploração.
- O CVE não está no catálogo KEV da CISA (versão do KEV 2026.11.10, verificada em 12 de novembro de 2026).
- O NVD mostra "Received" e não o analisou. A pontuação CVSS v4 de 9.5 vem do GitHub (a CNA).
- As versões corrigidas (14 de outubro) saíram cerca de quatro semanas antes do CVE e do aviso (10 de novembro). As notas de lançamento descrevem apenas uma melhoria do protocolo de transporte e não dizem que é uma correção de vulnerabilidade.
Fontes
- GitHub — GHSA-xqc2-xf4c-x3h3 React: Unauthenticated Remote Code Execution in React Server Components (versões afetadas e corrigidas, condições de não afetação, CVSS v4 9.5)
- React — Aviso de segurança no repositório do React
- React — Lançamento v19.2.9 (19.0.9, 19.1.10 e 19.3.1 foram lançadas no mesmo dia)
- CVE.org — CVE-2026-126187 (publicado em 10 de novembro de 2026)
- NVD — CVE-2026-126187 (Received)
- Next.js — Avisos de segurança do vercel/next.js (nenhuma menção a este CVE encontrada)
Não declaramos o impacto sobre o Next.js e frameworks semelhantes porque nenhuma declaração oficial foi encontrada. Última verificação: 12 de novembro de 2026.