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-2026-47883 — Prova de conceito mínima para o open redirect do UrlHandlerFilter do Spring Framework (CVE-2026-47883), demonstrando que requisições com barras duplas manipuladas produzem cabeçalhos Location controlados pelo atacante. | Kitploit
Ferramentas/GitHubGitHub/daehyuh/cve-2026-47883
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança Web
GitHubdaehyuh/cve-2026-47883

CVE-2026-47883

Prova de conceito mínima para o open redirect do UrlHandlerFilter do Spring Framework (CVE-2026-47883), demonstrando que requisições com barras duplas manipuladas produzem cabeçalhos Location controlados pelo atacante.

Ver Repositório
há 2 diasAinda 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-2026-47883: PoC de Open Redirect no UrlHandlerFilter do Spring Framework

Este repositório é um PoC de reprodução mínima do CVE-2026-47883, divulgado no aviso de segurança oficial da Spring.

  • Aviso oficial: https://spring.io/security/cve-2026-47883/
  • Título oficial: Spring Framework Open Redirect in UrlHandlerFilter
  • Gravidade: Média
  • CVSS v3.1: 5.4 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N)
  • CWE: CWE-601 — Redirecionamento de URL para site não confiável (Open Redirect)
  • Data de divulgação: 20/08/2026

Resumo da vulnerabilidade

Se o UrlHandlerFilter do Spring Framework for configurado com um padrão muito amplo e no modo de redirecionamento, um cabeçalho Location que aponta para uma origem externa pode ser gerado, resultando em um open redirect. O aviso oficial da Spring indica que ambas as variantes do filtro, Spring MVC e Spring WebFlux, estão no escopo de impacto.

Baixar ferramenta

No caminho Servlet deste PoC, a localização do redirecionamento é usada no cabeçalho de resposta após a remoção da barra final (trailing slash) do URI da requisição.

root@kitploit:~
String location = trimTrailingSlash(request.getRequestURI());
response.setHeader(HttpHeaders.LOCATION, location);

Se o URI bruto da requisição for //attacker.example/, o resultado será //attacker.example. De acordo com a RFC 3986 §4.2, //attacker.example é uma network-path reference; portanto, o navegador pode interpretá-lo como um endereço externo que mantém o esquema atual (por exemplo, https://attacker.example).

Condições de ocorrência

Este PoC utiliza as seguintes condições:

  • Usar uma versão afetada do Spring Framework.
  • Ter o UrlHandlerFilter registrado no modo de redirecionamento.
  • Aplicar um padrão muito amplo, como /**.
  • Permitir que um atacante envie um request target bruto que comece com // até o servidor.
root@kitploit:~
UrlHandlerFilter.trailingSlashHandler("/**")
    .redirect(HttpStatus.PERMANENT_REDIRECT)
    .build();

Escopo de impacto

Artifacts impactados conforme o aviso oficial:

  • org.springframework:spring-webmvc
  • org.springframework:spring-webflux

Versões afetadas:

  • Spring Framework 7.0.0 - 7.0.8
  • Spring Framework 6.2.0 - 6.2.19

Versões corrigidas:

Versão corrigidaDisponibilidade
7.0.9OSS
7.0.8.1Somente suporte Enterprise
6.2.20Somente suporte Enterprise

O que este PoC demonstra

UrlHandlerFilterBootServletIntegrationTest (reprodução principal)

Inicia uma aplicação real Spring Boot + Tomcat embutido e registra o seguinte filtro:

root@kitploit:~
UrlHandlerFilter.trailingSlashHandler("/**")
    .redirect(HttpStatus.PERMANENT_REDIRECT)
    .build();

Envia a requisição por meio de um socket TCP bruto para que o cliente HTTP não normalize previamente o caminho //.

  1. embeddedServletContainerEmitsNetworkPathReferenceForDoubleSlashPath
    • Envia GET //attacker.example/ HTTP/1.1.
    • Verifica 308 Permanent Redirect e Location: //attacker.example.
    • Demonstra o comportamento vulnerável que pode ser interpretado como uma origem externa no navegador.
  2. embeddedServletContainerKeepsExpectedSameOriginRelativeLocationForOrdinaryPath
    • Envia GET /account/ HTTP/1.1 como controle normal.
    • Confirma que Location: /account é mantido.

UrlHandlerFilterOpenRedirectTest (teste auxiliar)

Valida diretamente a API do filtro Servlet com objetos mock e confere o controle de caminho normal.

No teste auxiliar reativo, verifica-se que um determinado URI criado com MockServerHttpRequest é normalizado para /attacker.example. No entanto, isso não é uma reprodução de ponta a ponta do request-target bruto do WebFlux, nem significa que o WebFlux não seja afetado. O escopo de impacto do aviso oficial da Spring inclui tanto Spring MVC quanto Spring WebFlux.

Como executar

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Resultado esperado com a versão vulnerável:

root@kitploit:~
UrlHandlerFilterBootServletIntegrationTest: Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
UrlHandlerFilterOpenRedirectTest: Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

O sucesso nos testes significa que o comportamento vulnerável foi reproduzido. No teste de integração principal, uma requisição bruta especialmente elaborada gera um valor de Location que pode ser interpretado como uma origem externa, enquanto as requisições normais mantêm o caminho relativo de mesma origem.

Dependências utilizadas

Este repositório utiliza a seguinte combinação:

root@kitploit:~
Spring Boot 3.5.14
Spring Framework 6.2.18
Apache Tomcat 10.1.54
Java 17+

Spring Boot e Tomcat são o ambiente de execução do PoC; o produto oficialmente afetado é o Spring Framework. A versão 6.2.18 do Spring Framework usada no PoC está dentro do escopo oficial afetado, 6.2.0 - 6.2.19.

Por que é perigoso

Um atacante pode usar a URL de um aplicativo em que o usuário confia para induzi-lo a navegar para um site externo. Isso pode ser usado em cenários de phishing, exploração de relações de confiança e subsequente roubo de credenciais.

O vetor CVSS oficial não exige privilégios prévios, mas requer interação do usuário, e avalia o impacto na confidencialidade e na integridade como Baixo, e na disponibilidade como Nenhum.

Mitigação

Conforme a recomendação oficial da Spring, é necessário atualizar para a versão corrigida adequada ao seu canal de suporte. O aviso oficial afirma que nenhuma medida de mitigação adicional é necessária após a atualização.

Créditos

O aviso oficial da Spring lista o seguinte:

  • Daehyun Kang (@daehyuh)

Links de referência

  • Aviso oficial da Spring: https://spring.io/security/cve-2026-47883/
  • CWE-601: https://cwe.mitre.org/data/definitions/601.html
  • RFC 3986 §4.2: https://www.rfc-editor.org/rfc/rfc3986#section-4.2
  • Calculadora CVSS v3.1: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N&version=3.1