Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2024-38819 — Análisis en profundidad de CVE-2024-38819, una vulnerabilidad de recorrido de archivos en Spring WebFlux, con desglose a nivel de código, PoC y estrategias de mitigación que incluyen filtros y reglas IPS. | Kitploit
Herramientas/GitHubGitHub/skrkcb2/cve-2024-38819
Análisis de VulnerabilidadesExplotaciónSeguridad WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y Educación
GitHubskrkcb2/cve-2024-38819

cve-2024-38819

Análisis en profundidad de CVE-2024-38819, una vulnerabilidad de recorrido de archivos en Spring WebFlux, con desglose a nivel de código, PoC y estrategias de mitigación que incluyen filtros y reglas IPS.

Ver Repositorio
9hace 1 añoAú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-2024-38819

01. Descripción general de File-Traversal y WebFlux

  • 1) Descripción general de File-Traversal y WebFlux

    La vulnerabilidad de File-Traversal (también conocida como Path Traversal) es un tipo de ataque designado como CWE-22 que permite a un atacante eludir los permisos del sistema de archivos en una aplicación web y acceder a archivos arbitrarios.

    Spring WebFlux es un módulo introducido en Spring 5 que ofrece soporte para programación reactiva y permite el desarrollo de aplicaciones asíncronas no bloqueantes. WebFlux.fn proporciona enrutamiento de endpoints funcionales, lo que permite una configuración de rutas concisa y flexible mediante expresiones lambda.

    CVE-2024-38819 se produce en aplicaciones que utilizan WebFlux.fn y WebMVC.fn. Este documento examina el flujo de código de cómo se produce esta vulnerabilidad en el contexto de WebFlux y busca plantear medidas de mitigación al respecto.

02. Análisis de la vulnerabilidad File-Traversal en el entorno WebFlux 6.13

  • 2.1 Análisis de File-Traversal usando WebFlux 6.13

    En Spring WebFlux 6.13 es posible realizar un ataque de File-Traversal mediante un ejemplo que sirve recursos estáticos (static resources).
    Examinaremos el ejemplo para comprender cómo se provoca el File-Traversal al usar Spring WebFlux.

1) Flujo del ataque de File-Traversal usando Spring WebFlux 6.13

Descripción de la imagen

[Figura 1] FileApplication.java

En [Figura 1], Spring WebFlux busca todas las solicitudes que llegan a /static/** en el directorio C:/file del servidor y las sirve. Aquí,
durante la llamada a RouterFunctions.resources, el problema comienza en PathResourceLookupFunction.class de WebFlux, como se muestra en [Figura 2] y [Figura 3].

Descripción de la imagen

[Figura 2] PathResourceLookupFunction.class - apply

[Figura 2] PathResourceLookupFunction - apply verifica si la ruta dada apunta a un recurso válido en Spring WebFlux y devuelve dicho recurso
en forma de Mono. Durante este proceso se realizan varios pasos, como la coincidencia de rutas, la validación, la decodificación de la ruta y el acceso al recurso; la vulnerabilidad
se produce en la función isInvalidPath.

Descripción de la imagen

[Figura 3] PathResourceLookupFunction.class - isInvalidPath

En [Figura 3], PathResourceLookupFunction - isInvalidPath contiene la condición StringUtils.cleanPath(path).contains("../"),
pero al solicitar http://localhost:8080/static/file/../Windows/System32/drivers/etc/hosts, dicha condición no puede ser True. La razón es que

Descripción de la imagen

Descripción de la imagen

[Figura 4] StringUtils.class - cleanPath

En [Figura 4], StringUtils.class - cleanPath, StringUtils.cleanPath(path) elimina TOP_PATH(".."), coloca la ruta en pathElements y top pasa a ser 0; por lo tanto,
la sintaxis de ataque con un solo ".." se procesa como una sintaxis normal. Así, la función isInvalidPath de [Figura 3] devuelve false, y

Descripción de la imagen

[Figura 5] PathResourceLookupFunction.class - apply - 2

Descripción de la imagen

[Figura 6] PathResourceLookupFunction.class - isResourceUnderLocation

Mediante la llamada a cleanPath en isResourceUnderLocation de [Figura 5], se realiza una verificación adicional de cleanPath, como se muestra en [Figura 6]; la ruta pasada desde [Figura 5] es C:/file../Windows/System32/drivers/etc/hosts, y

Descripción de la imagen

[Figura 7] StringUtils.class - cleanPath -2

Con el código de [Figura 7], el prefijo se convierte en C:/ y la ruta se modifica a /Windows/System32/drivers/etc/hosts mediante [Figura 4]; el retorno final
se procesa como C:/Windows/System32/drivers/etc/hosts.

2) Ejemplo de ataque de File-Traversal usando Spring WebFlux 6.13

Actualmente la prueba se realizó en Windows con C:/file, pero este caso resulta muy peligroso si se combina con un enlace simbólico en Linux.
(Con "../../" (dos veces) se aplica la lógica normal; la vulnerabilidad solo ocurre con "../" (una vez)) 20250207_150316

2-1) Ejemplo 2 de ataque de File-Traversal usando Spring WebFlux 6.13

Ataque combinado con un enlace simbólico en un servidor Linux

 public RouterFunction<ServerResponse> staticResourceRouter() {
     return RouterFunctions.resources("/static/**", new FileSystemResource("/app/static/"));
 }

Agregar el enlace simbólico con ln -s /static /app/static/link y luego atacar 20250208_101836

03. Medidas de mitigación

Hasta ahora hemos revisado el flujo en el que se ejecuta el File Traversal (CVE-2024-38819) en el entorno Spring WebFlux. Dado que es un ataque que permite el robo de información del servidor, las medidas de mitigación son importantes. Para ello, se propone la actualización a la última versión, la creación de lógica de verificación adicional y el bloqueo mediante IPS.

Descargar herramienta