Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2024-38819 — Analyse approfondie de CVE-2024-38819, une vulnérabilité de type file traversal dans Spring WebFlux, avec analyse au niveau du code, PoC et stratégies d'atténuation incluant des filtres et des règles IPS. | Kitploit
Outils/GitHubGitHub/skrkcb2/cve-2024-38819
Analyse des VulnérabilitésExploitationSécurité WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
GitHubskrkcb2/cve-2024-38819

cve-2024-38819

Analyse approfondie de CVE-2024-38819, une vulnérabilité de type file traversal dans Spring WebFlux, avec analyse au niveau du code, PoC et stratégies d'atténuation incluant des filtres et des règles IPS.

Voir le dépôt
9il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-38819

01. Aperçu de File-Traversal et WebFlux

  • 1) Aperçu de File-Traversal et de WebFlux

    La vulnérabilité File-Traversal (parcours de chemin, Path Traversal) permet à un attaquant de contourner les autorisations du système de fichiers dans une application web et d'accéder à des fichiers arbitraires. Elle est répertoriée sous le code CWE-22 et constitue un type d'attaque.

    Spring WebFlux est un module introduit dans Spring 5 qui prend en charge la programmation réactive et le développement d'applications asynchrones non bloquantes. WebFlux.fn fournit un routage fonctionnel des points de terminaison, permettant une configuration de routage concise et flexible à l'aide d'expressions lambda.

    CVE-2024-38819 survient dans les applications utilisant WebFlux.fn, WebMVC.fn. Ce document examine comment cette vulnérabilité se produit dans le contexte de WebFlux, en suivant le flux de code, et explore les mesures correctives correspondantes.

02. Analyse de la vulnérabilité File-Traversal dans l'environnement WebFlux 6.1.3

  • 2.1 Analyse de File-Traversal avec WebFlux 6.1.3

    Dans Spring WebFlux 6.1.3, il est possible de réaliser une attaque File-Traversal via un exemple de service de ressources statiques (static resource).
    Nous allons examiner cet exemple pour comprendre comment Spring WebFlux peut être exploité pour provoquer un File-Traversal.

1) Flux de l'attaque File-Traversal utilisant Spring WebFlux 6.1.3

Description de l'image

[Figure 1] FileApplication.java

[Figure 1] Dans Spring WebFlux, toutes les requêtes vers /static/** sont servies en recherchant dans le répertoire C:/file du serveur. Ici,
lors de l'appel à RouterFunctions.resources, le problème commence dans PathResourceLookupFunction.class de WebFlux ([Figure 2], [Figure 3]).

Description de l'image

[Figure 2] PathResourceLookupFunction.class - apply

[Figure 2] PathResourceLookupFunction - apply vérifie si le chemin donné pointe vers une ressource valide dans Spring WebFlux et retourne cette ressource sous forme de
Mono. Dans ce processus, la vulnérabilité se produit dans la fonction isInvalidPath, lors des étapes de correspondance de chemin, validation, décodage du chemin et accès à la ressource.

Description de l'image

[Figure 3] PathResourceLookupFunction.class - isInvalidPath

[Figure 3] PathResourceLookupFunction - isInvalidPath montre la condition StringUtils.cleanPath(path).contains("../").
Lors d'une requête http://localhost:8080/static/file/../Windows/System32/drivers/etc/hosts, cette condition ne peut pas être vraie. Raison :

Description de l'image

Description de l'image

[Figure 4] StringUtils.class - cleanPath

[Figure 4] StringUtils.class - cleanPath montre que StringUtils.cleanPath(path) supprime TOP_PATH (".."), puis place le chemin dans pathElements, et top devient 0. Ainsi,
une attaque contenant ".." une seule fois est traitée comme un chemin normal. Par conséquent, la fonction isInvalidPath de [Figure 3] retourne false, et

Description de l'image

[Figure 5] PathResourceLookupFunction.class - apply - 2

Description de l'image

[Figure 6] PathResourceLookupFunction.class - isResourceUnderLocation

Suite à l'appel de isResourceUnderLocation dans [Figure 5], une nouvelle validation via cleanPath a lieu dans [Figure 6]. Le chemin transmis dans [Figure 5] est C:/file../Windows/System32/drivers/etc/hosts, et

Description de l'image

[Figure 7] StringUtils.class - cleanPath -2

Grâce au code de [Figure 7], le préfixe devient C:/, et le chemin est modifié via [Figure 4] en /Windows/System32/drivers/etc/hosts, le retour final étant
C:/Windows/System32/drivers/etc/hosts. Voici le flux.

2) Exemple d'attaque File-Traversal utilisant Spring WebFlux 6.1.3

Actuellement, le test a été effectué sur Windows avec C:/file, mais ce cas est très dangereux s'il est combiné avec un lien symbolique sous Linux.
(La vulnérabilité ne se produit que lorsque ".." est présent une seule fois ; avec "../.." deux fois, le comportement normal s'applique.) 20250207_150316

2-1) Exemple d'attaque File-Traversal utilisant Spring WebFlux 6.1.3 - Exemple 2

Attaque avec un lien symbolique sur un serveur Linux

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

Ajout du lien symbolique : ln -s /static /app/static/link, puis attaque 20250208_101836

03. Mesures correctives

Nous avons examiné le déroulement de l'attaque File Traversal (CVE-2024-38819) dans l'environnement Spring WebFlux. Il s'agit d'une méthode d'attaque permettant le vol d'informations du serveur, d'où l'importance des mesures correctives. Nous proposons ici la mise à jour vers la dernière version, la création d'une logique de validation supplémentaire, et le blocage via un IPS.

Télécharger l’outil