Saltar para o conteúdo

O site da sua empresa também precisa de atualizações: as falhas do Next.js, React e Node.js e como resolver

Next.js, React e Node.js corrigiram falhas críticas em outubro. Saiba se o site da sua empresa é afetado e como atualizar, passo a passo.

Em outubro de 2026, três peças usadas em muitos sites modernos receberam correções de segurança urgentes. A 14 de outubro, o Next.js lançou as versões 16.4.1 e 15.5.28 para fechar duas falhas críticas, que permitem executar código no servidor sem qualquer palavra-passe, e uma falha grave que pode deixar o site em baixo. No mesmo dia, o React publicou as versões 19.3.1, 19.2.9, 19.1.10 e 19.0.9. A 21 de outubro foi a vez do Node.js, com as versões 22.23.4, 24.22.1 e 26.12.1.

Um site feito à medida também precisa de manutenção, tal como um site em WordPress. Neste artigo explicamos o que foi corrigido, quem é afetado e, sobretudo, como resolver. O contexto geral do mês está no nosso artigo Outubro negro na segurança.

Prefere ver? Explicamos as falhas e como resolver neste vídeo:

O que são o Next.js, o React e o Node.js

  • React é a biblioteca que desenha a parte visível de muitos sites e aplicações: botões, formulários, menus.
  • Next.js é a estrutura (framework) que junta o React a um servidor. É ele que monta as páginas, otimiza as imagens e trata dos formulários. É usado por lojas online, sites institucionais e plataformas de reservas.
  • Node.js é o motor que corre esse código no servidor.

Se o seu site foi feito com Next.js, depende dos três. Se não sabe com que tecnologia foi feito, pergunte a quem o desenvolveu. É a primeira coisa a confirmar.

As falhas do Next.js e do React

A equipa do Next.js já tinha anunciado esta atualização a 8 de outubro. Duas das correções tinham sido adiadas da atualização de setembro, à espera das bibliotecas de que o Next.js depende.

1. Execução remota de código em funções use cache (crítica)

O aviso GHSA-673q-mjm6-r5xr tem nota de 9,5 em 10 e afeta o Next.js da 16.0.0 à 16.4.0. Em aplicações com App Router e Cache Components, uma função use cache que devolva vários "typed arrays" (um tipo de dados binários) pode permitir a um atacante executar código no servidor sem autenticação. A origem está no React, no aviso GHSA-xqc2-xf4c-x3h3, que afeta os pacotes de React Server Components (react-server-dom-webpack, -turbopack e -parcel). Não há alternativa à atualização. A equipa do Next.js recomenda atualizar mesmo que a sua aplicação não tenha funções deste tipo.

2. Execução remota de código na otimização de imagens com SVG (crítica)

A CVE-2026-96889 (GHSA-2464-fhr4-w9xw) também tem nota de 9,5. É uma falha de memória numa biblioteca usada pela otimização de imagens do Next.js. Pode levar à execução de código quando o site corre em Linux com glibc. Afeta um intervalo muito largo, do Next.js 10.0.0 à 15.5.27 e da 16.0.0 à 16.4.0. A medida provisória oficial é garantir que a biblioteca sharp usada pelo Next.js está na versão 0.35.5 ou superior.

3. Negação de serviço com Server Actions (grave)

O aviso GHSA-p3m5-59mp-jv5r tem nota de 8,2 e afeta o Next.js da 13.0.0 à 15.5.27 e da 16.0.0 à 16.4.0. Pedidos preparados para o efeito fazem disparar o processador e bloqueiam os outros pedidos: o site fica lento ou deixa de responder. Só são vulneráveis as aplicações com App Router e pelo menos uma Server Action. Quem usa o Pages Router ou não tem Server Actions não é afetado. A origem está no React, no aviso GHSA-h3gv-c5rc-p453.

Quem não é afetado pelas falhas do React: segundo o próprio React, se o código React da sua aplicação não usa um servidor, ou se não usa uma framework ou bundler com suporte para React Server Components, a aplicação não é afetada. Os sites React que correm só no navegador ficam de fora.

Segundo uma nota da Cloud Security Alliance, até 15 de outubro não havia relatos públicos de exploração. A mesma nota avisa que esse cenário pode mudar depressa depois de publicadas as correções.

As falhas do Node.js

A atualização de 21 de outubro corrige dez falhas, quatro delas graves. A mais séria é a CVE-2026-111497, no descompressor Brotli: quando uma aplicação descomprime dados preparados por um atacante, este pode corromper a memória e, no limite, executar código. Há ainda duas falhas graves na verificação de certificados TLS (CVE-2026-105483 e CVE-2026-106069) e uma na resolução de nomes DNS (CVE-2026-105482). As versões corrigidas são a 22.23.4, a 24.22.1 e a 26.12.1. O Node.js 20 já chegou ao fim de vida e não recebe estas correções.

A Vercel ativou regras de firewall no próprio dia para os projetos que aloja e atualiza ela própria as versões 22.x e 24.x. Avisa, porém, que essas regras não substituem a atualização e não protegem servidores fora da Vercel. Para as falhas do Next.js, não encontrámos nenhuma proteção semelhante anunciada por uma plataforma: a solução é atualizar.

Como resolver, passo a passo

Estes passos são para quem desenvolve ou mantém o site. Se não for o seu caso, envie este artigo à sua agência ou ao seu programador.

1. Veja que versões tem

Na pasta do projeto, corra:

node -v
npm ls next react react-dom sharp

Se o next estiver entre a 16.0.0 e a 16.4.0, ou abaixo da 15.5.28, o site está exposto. Confirme também o resultado do sharp: abaixo da 0.35.5, está vulnerável à falha das imagens.

2. Atualize o Next.js e o React

Na linha 16 (Active LTS), instale a 16.4.1 ou uma versão posterior da mesma linha:

npm install next@16.4.1 react@19.3.1 react-dom@19.3.1 eslint-config-next@16.4.1

Na linha 15 (Maintenance LTS), instale a 15.5.28:

npm install next@15.5.28

Se usa o React com outra framework ou bundler de React Server Components, instale a versão corrigida da sua linha: 19.0.9, 19.1.10, 19.2.9 ou 19.3.1. Quem está no Next.js 14 ou anterior não tem versão corrigida: a única saída oficial é migrar para a 15.5.28 ou para a 16.4.1. Até lá, garanta pelo menos o sharp 0.35.5 ou superior. Depois, confirme que o ficheiro package-lock.json foi atualizado e corra npm audit.

3. Atualize o Node.js

  • No computador de desenvolvimento: com o nvm, nvm install 24.22.1 e nvm use 24.22.1; com o mise, mise use node@24.22.1. Se estiver noutra linha, use a 22.23.4 ou a 26.12.1.
  • Num servidor próprio ou alojamento com painel: escolha a versão corrigida no painel ou peça-a ao fornecedor. Em contentores Docker, atualize a imagem base e volte a construí-la.
  • Na Vercel: em Settings → Build and Deployment → Node.js Version, escolha 22.x ou 24.x, ou defina "engines": { "node": "24.x" } no package.json. A Vercel aplica sozinha as correções dentro de cada versão principal. Quem ainda estiver no 20.x tem de mudar e fazer novo deploy.
  • Na integração contínua (CI): atualize também a versão de Node.js usada nos testes e nas compilações.

4. Teste e publique

npm run build
npm test
npm start

Abra as páginas principais, os formulários e o checkout, se existir. Depois faça um novo deploy e confirme no registo da compilação que a versão do Next.js e a do Node.js são as novas. Atualizar o código sem publicar não protege o site que está no ar.

Lista rápida

  • Sei com que tecnologia o meu site foi feito.
  • O next está na 16.4.1 (ou superior) ou na 15.5.28.
  • O react e o react-dom estão numa versão corrigida.
  • O sharp está na 0.35.5 ou superior.
  • O Node.js está na 22.23.4, 24.22.1 ou 26.12.1, e não no 20.
  • Compilei, testei e publiquei um novo deploy.
  • Combinei com quem mantém o site quem acompanha estas atualizações.

Quando pedir ajuda à agência

Peça ajuda se o site estiver no Next.js 14 ou anterior, se a compilação falhar depois de atualizar, se não houver testes, se o site correr num servidor próprio sem manutenção ou se ninguém souber quem tem acesso ao alojamento. Se suspeitar que o site já foi atacado, siga os passos de O site foi pirateado: o que fazer nas primeiras horas. Para criar uma rotina de manutenção, veja também Cinco hábitos de cibersegurança para uma PME com site e Cópias de segurança: como saber se o site volta.

Em resumo

As falhas críticas do Next.js e do React permitem, em certas condições, executar código no servidor sem palavra-passe, e as do Node.js tocam no motor que corre tudo. A correção já existe e é simples para quem mantém o projeto: atualizar o Next.js, o React e o Node.js, testar e voltar a publicar. Um site à medida só fica seguro se alguém o mantiver atualizado.

Quer saber como está o seu site?

A nossa auditoria gratuita verifica a segurança, o desempenho e o SEO do seu site e explica o que corrigir. Para atualizar o Next.js, o React ou o Node.js sem parar o site, escreva para info@marcaweb.pt ou ligue para o +351 920 260 897.

Fontes

Blog

Continue a ler

Ver o serviço de cibersegurança

Gostou do artigo? Vamos falar do seu projecto.

Orçamento gratuito e proposta com preço fechado em 48 horas.