Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-47883 — Prueba de concepto mínima para la redirección abierta de UrlHandlerFilter de Spring Framework (CVE-2026-47883), que demuestra que las solicitudes manipuladas de doble barra producen cabeceras Location controladas por el atacante. | Kitploit
Herramientas/GitHubGitHub/daehyuh/cve-2026-47883
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad Web
GitHubdaehyuh/cve-2026-47883

CVE-2026-47883

Prueba de concepto mínima para la redirección abierta de UrlHandlerFilter de Spring Framework (CVE-2026-47883), que demuestra que las solicitudes manipuladas de doble barra producen cabeceras Location controladas por el atacante.

Ver Repositorio
hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-47883: PoC de Open Redirect en UrlHandlerFilter de Spring Framework

Este repositorio es un PoC de reproducción mínima de CVE-2026-47883, publicado a través del aviso de seguridad oficial de Spring.

  • Aviso oficial: https://spring.io/security/cve-2026-47883/
  • Título oficial: Spring Framework Open Redirect in UrlHandlerFilter
  • Severidad: Medium
  • CVSS v3.1: 5.4 (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N)
  • CWE: CWE-601 — Redirección de URL a sitio no confiable (Open Redirect)
  • Fecha de divulgación: 2026-08-20

Resumen de la vulnerabilidad

Si se configura UrlHandlerFilter de Spring Framework con un patrón muy amplio y en modo de redirección, se puede generar un encabezado Location que apunte a un origen externo, lo que puede provocar un open redirect. El aviso oficial de Spring indica que tanto las variantes del filtro para Spring MVC como para Spring WebFlux están dentro del alcance.

Descargar herramienta

En la ruta Servlet de este PoC, la ubicación de la redirección se utiliza en el encabezado de respuesta después de eliminar el trailing slash del URI de la solicitud.

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

Si el URI de solicitud raw es //attacker.example/, el resultado es //attacker.example. Según RFC 3986 §4.2, //attacker.example es una network-path reference, por lo que el navegador puede interpretarlo como una dirección externa que conserva el esquema actual (por ejemplo, https://attacker.example).

Condiciones de explotación

Este PoC utiliza las siguientes condiciones:

  • Se utiliza una versión afectada de Spring Framework.
  • UrlHandlerFilter está registrado en modo de redirección.
  • Se aplica un patrón muy amplio, como /**.
  • El atacante puede hacer llegar al servidor un raw request target que comience con //.
root@kitploit:~
UrlHandlerFilter.trailingSlashHandler("/**")
    .redirect(HttpStatus.PERMANENT_REDIRECT)
    .build();

Alcance

Artefactos afectados según el aviso oficial:

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

Versiones afectadas:

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

Versiones corregidas:

Versión corregidaAlcance de soporte
7.0.9OSS
7.0.8.1Enterprise Support Only
6.2.20Enterprise Support Only

Qué demuestra este PoC

UrlHandlerFilterBootServletIntegrationTest (reproducción principal)

Inicia una aplicación real de Spring Boot + Tomcat embebido y registra el siguiente filtro:

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

Envía la solicitud mediante un socket TCP raw para evitar que el cliente HTTP normalice previamente la ruta //.

  1. embeddedServletContainerEmitsNetworkPathReferenceForDoubleSlashPath
    • Envía GET //attacker.example/ HTTP/1.1.
    • Comprueba 308 Permanent Redirect y Location: //attacker.example.
    • Demuestra el comportamiento vulnerable que puede interpretarse como un origen externo en el navegador.
  2. embeddedServletContainerKeepsExpectedSameOriginRelativeLocationForOrdinaryPath
    • Como control normal, envía GET /account/ HTTP/1.1.
    • Verifica que se mantiene Location: /account.

UrlHandlerFilterOpenRedirectTest (prueba auxiliar)

Verifica directamente la API del filtro Servlet con objetos mock y comprueba el control de rutas normales.

En la prueba auxiliar reactiva se verifica que un URI concreto creado con MockServerHttpRequest se normaliza a /attacker.example. Sin embargo, esto no es una reproducción end-to-end del raw request-target de WebFlux, ni significa que WebFlux no esté afectado. El alcance del aviso oficial de Spring incluye tanto Spring MVC como Spring WebFlux.

Método de ejecución

Windows:

root@kitploit:~
.\mvnw.cmd test

macOS/Linux:

root@kitploit:~
./mvnw test

Resultado esperado con la versión vulnerable:

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

Que las pruebas tengan éxito significa que se ha reproducido el comportamiento vulnerable. En la prueba de integración principal, una solicitud raw manipulada genera un valor Location que puede interpretarse como un origen externo, mientras que las solicitudes normales mantienen la ruta relativa same-origin.

Dependencias utilizadas

Este repositorio utiliza la siguiente combinación:

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

Spring Boot y Tomcat son el entorno de ejecución del PoC; el producto oficialmente afectado es Spring Framework. La versión de Spring Framework 6.2.18 utilizada en el PoC está incluida en el rango oficial afectado 6.2.0 - 6.2.19.

Por qué es peligroso

Un atacante puede utilizar la URL de una aplicación en la que el usuario confía para inducirlo a navegar a un sitio externo. Esto puede utilizarse en escenarios de phishing, abuso de relaciones de confianza y posterior robo de credenciales.

El vector CVSS oficial no requiere privilegios previos, pero requiere interacción del usuario; evalúa el impacto a la confidencialidad y a la integridad como Low y el impacto a la disponibilidad como None.

Mitigación

Según la recomendación oficial de Spring, debe actualizar a la versión corregida correspondiente a su canal de soporte. El aviso oficial indica que no se requieren medidas de mitigación adicionales después de la actualización.

Créditos

El aviso oficial de Spring incluye lo siguiente:

  • Daehyun Kang (@daehyuh)

Enlaces de referencia

  • Aviso oficial de 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