Nuxt · Nuxt · CVE-2026-56326
**Nome do Software Vulnerável e Versões Afetadas**
Nuxt versões anteriores a 4.4.7
Nuxt versões anteriores a 3.21.7
**Description**
O Nuxt contém três problemas de segurança relacionados ao manuseio de URLs de navegação do cliente através das funções `navigateTo()` e `reloadNuxtApp()`. Primeiro, existe um redirecionamento aberto no lado do servidor em `navigateTo()`, onde bypasses de normalização de caminho, como o uso de `/..//evil.com` ou `/.//evil.com`, permitem que atacantes contornem as verificações de host externo. Isso faz com que o navegador resolva o redirecionamento para um host controlado pelo atacante via cabeçalho Location ou meta-refresh, potencialmente permitindo phishing e roubo de códigos de autorização OAuth.
Segundo, existe um problema de execução de script no lado do cliente em `navigateTo()` quando a opção `open` é utilizada. O manipulador falha ao aplicar verificações de protocolo de script, permitindo que alvos como `javascript:...` sejam executados na origem da aplicação, levando ao Cross-Site Scripting (XSS) refletido, que é a execução de scripts maliciosos no navegador da vítima.
Terceiro, existe um redirecionamento aberto em `reloadNuxtApp()` através da variável `path`. Caminhos relativos ao protocolo, como `//evil.com`, ignoram as verificações de protocolo e são atribuídos ao `window.location.href`, causando um redirecionamento cross-origin.
**Recommendations**
Atualize para a versão 4.4.7 ou posterior.
Atualize para a versão 3.21.7 ou posterior.
Como mitigação temporária para redirecionamentos abertos, valide os alvos de redirecionamento antes de passá-los para `navigateTo()` ou `reloadNuxtApp({ path })`, rejeitando qualquer entrada onde o pathname comece com `//` ou utilizando uma lista de permissões (allow-list) de caminhos conhecidos.
Como mitigação temporária para a execução de scripts, rejeite qualquer URL controlada pelo usuário cujo protocolo não esteja em uma lista de permissões (como `http:` e `https:`) antes de passá-la para `navigateTo({ open: ... })`.