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
cve-2025-29927 — Prova de conceito de exploit para CVE-2025-29927, uma vulnerabilidade de bypass de middleware no Next.js. Inclui payloads específicos por versão e um laboratório baseado em Docker para testar acesso não autorizado a rotas protegidas. | Kitploit
Ferramentas/GitHubGitHub/jeymo092/cve-2025-29927
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubjeymo092/cve-2025-29927

cve-2025-29927

Prova de conceito de exploit para CVE-2025-29927, uma vulnerabilidade de bypass de middleware no Next.js. Inclui payloads específicos por versão e um laboratório baseado em Docker para testar acesso não autorizado a rotas protegidas.

Ver Repositório
1há 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

CVE-2025-29927

Imagem

Vulnerabilidade CVE-2025-29927

Todas as versões do Next.js de 11.1.4 até 13.5.6, 14.x anteriores a 14.2.25 e 15.x anteriores a 15.2.3 são afetadas por esta vulnerabilidade. O impacto é particularmente significativo para aplicações que dependem de middleware para implementar controles de acesso, uma vez que os atacantes podem obter acesso não autorizado a recursos protegidos sem autenticação.

O mecanismo da vulnerabilidade

A vulnerabilidade no CVE-2025-29927 decorre de uma falha de design na forma como o Next.js processa o cabeçalho x-middleware-subrequest. Este cabeçalho foi originalmente concebido para uso interno do framework Next.js, a fim de evitar loops infinitos de execução de middleware.

Quando uma aplicação Next.js utiliza middleware, a função runMiddleware é chamada para processar as requisições recebidas. Como parte da sua funcionalidade, esta função verifica a presença do cabeçalho x-middleware-subrequest. Se este cabeçalho existir e contiver um valor específico, a execução do middleware é totalmente ignorada e a requisição é encaminhada diretamente para o seu destino original através de .

NextResponse.next()

A vulnerabilidade reside no fato de esta verificação do cabeçalho poder ser explorada por usuários externos. Ao adicionar o cabeçalho x-middleware-subrequest com o valor correto a uma requisição, um atacante pode contornar completamente qualquer mecanismo de proteção baseado em middleware.

Guia de Configuração do Projeto

  1. Clone o repositório:

    root@kitploit:~
    git clone <repository_url>
    
  2. Navegue até o diretório do projeto:

    root@kitploit:~
    cd nextjs-docker-app
    
  3. Construa a imagem Docker:

    root@kitploit:~
    docker build -t nextjs-app .
    
  4. Execute o contêiner Docker:

    root@kitploit:~
    docker run -p 3000:3000 nextjs-app
    
  5. Acesse a aplicação no seu navegador em http://localhost:3000.

Exploração em Diferentes Versões do Next.js

O método de exploração varia ligeiramente dependendo da versão do Next.js:

Para versões anteriores a 12.2:

Nessas versões, os arquivos de middleware tinham de ser nomeados _middleware.ts e colocados dentro da pasta pages. O valor de middlewareInfo.name era composto pelo nome do diretório e pelo nome do arquivo:

root@kitploit:~
x-middleware-subrequest: pages/_middleware

Para rotas aninhadas, pode haver vários arquivos de middleware em diferentes níveis, resultando em vários valores possíveis para o cabeçalho:

root@kitploit:~
x-middleware-subrequest: pages/dashboard/_middleware

ou

root@kitploit:~
x-middleware-subrequest: pages/dashboard/panel/_middleware

Para versões 12.2 e posteriores:

A partir da versão 12.2, o Next.js mudou as convenções de middleware. O arquivo deve ser nomeado middleware.ts (sem o underscore) e não deve mais estar localizado na pasta pages. Para essas versões, o payload é mais simples:

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

Além disso, o Next.js permite uma estrutura de projeto alternativa com um diretório /src. Nesses casos, o payload seria:

root@kitploit:~
x-middleware-subrequest: src/middleware

Para versões 13.2.0 e posteriores:

Para versões 13.2.0 e superiores, o Next.js introduziu uma profundidade máxima de recursão para a execução de middleware. Isso foi implementado para evitar loops infinitos, mas não afeta a vulnerabilidade. A exploração continua a mesma, pois a verificação do cabeçalho ocorre antes de qualquer verificação de profundidade de recursão.

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

Alternativamente, para projetos que utilizam uma estrutura de diretório /src:

root@kitploit:~
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:sr
=======
# cve-2025-29927
>>>>>>> 56c7b2dcd548caf771750519107bf7c57749a864
Baixar ferramenta