Les correctifs php2shell (CVE-2026-109618 et CVE-2026-109619) pour les versions de PHP en fin de vie sont désormais disponibles. Les réponses du service commercial étant plus lentes que d'habitude en raison d'une forte demande, le moyen le plus rapide d'obtenir les paquets corrigés est d'acheter ELS for Runtimes en ligne (s'ouvre dans un nouvel onglet). | Consulter la FAQ sur les correctifs
Ce CVE a été résolu par l'équipe TuxCare et
un correctif a été fourni à ELS pour les utilisateursde Spring®.
Spring® Framework est un framework open source complet destiné à la création d'applications Java. Il fournit des fonctionnalités d'injection de dépendances (DI), de programmation orientée aspect (AOP) et de gestion des transactions, rendant le développement Java plus modulaire et plus efficace.
Spring® Web est un module du frameworkSpring® conçu pour créer des applications web et des services RESTful en Java. Il fournit des fonctionnalités web essentielles, notamment la gestion des requêtes basée sur les servlets, la prise en charge des API REST et l'intégration avecSpring® Web MVC, un module du frameworkSpring® qui fournit une architecture MVC (Model-View-Controller) puissante pour la création d'applications web. Spring® WebFlux est un framework web réactif et non bloquant introduit dansSpring® 5. Il est conçu pour gérer des applications web asynchrones et événementielles à l'aide de Project Reactor (flux réactifs).
La limitation inappropriée d'un nom de chemin à un répertoire restreint ("Path Traversal") se produit lorsque le produit utilise des données externes pour construire un nom de chemin destiné à identifier un fichier ou un répertoire situé sous un répertoire parent restreint, mais que le produit ne neutralise pas correctement les éléments spéciaux dans le nom de chemin qui peuvent entraîner la résolution du nom de chemin à un emplacement situé en dehors du répertoire restreint.
CVE-2024-38816, une vulnérabilité de type « Path Traversal » (traversée de chemin) à haut niveau de gravité, affecte les applications qui utilisent les frameworks web fonctionnels WebMvc.fn ou WebFlux.fn pour servir des ressources statiques. Les attaquants peuvent exploiter cette vulnérabilité en créant des requêtes HTTP malveillantes qui leur permettent de récupérer n'importe quel fichier du système de fichiers auquel le processus d'applicationSpring® peut accéder.
Ce problème affecte plusieurs versions de :
org.springframework:spring-webflux package,
org.springframework:spring-webmvc package.
| Dossier de vulnérabilité | |
| ID CVE | 38816 |
| Sévérité | Haut : 7,5 |
| CWE-ID et nom | CWE-22: Limitation inappropriée d'un nom de chemin à un répertoire restreint ("Path Traversal") |
| Projet concerné | CadreSpring® |
| Paquets concernés | spring-webflux
spring-webmvc |
| Versions concernées | All prior 5.3.0, <5.3.0;5.3.39>,<6.0.0;6.0.23>,<6.1.0;6.1.12> |
| NVD Date de publication | 13 septembre 2024 (Spring.io : 12 septembre 2024) |
| Date de correction de TuxCare | 26 septembre 2024 |
| TuxCare version fixe | 5.3.39tuxcare.1 |
https://mvnrepository.com/artifact/org.springframework/spring-webflux
https://mvnrepository.com/artifact/org.springframework/spring-webmvc
Les applications fournissant des ressources statiques via les frameworks Web fonctionnels WebMvc.fn ou WebFlux.fn sont vulnérables aux attaques par traversée de chemin. Un attaquant peut créer des requêtes HTTP malveillantes et obtenir n'importe quel fichier du système de fichiers également accessible au processus dans lequel l'applicationSpring® s'exécute.
Plus précisément, une application est vulnérable lorsque les deux conditions suivantes sont réunies :
Toutefois, les demandes malveillantes sont bloquées et rejetées lorsque l'un des éléments suivants est présent :
Dans les applications utilisant des RouterFunctions et servant des fichiers à partir du système de fichiers (par exemple, avec FileSystemResource), les attaquants peuvent demander des chemins comme :
/public/../../../../../etc/passwd
...de lire des fichiers sensibles.
Affecte à la fois les applications Spring® WebFlux.fn et Spring® WebMvc.fn, ce qui le rend pertinent pour différentes piles Web.
Si vous configurez votre applicationSpring® WebFlux ou WebMvc.fn pour servir des fichiers à partir du système de fichiers local (par exemple /var/www/files) à l'aide de RouterFunctions, un attaquant peut créer des URL telles que :
/files/../../../etc/passwd
...pour accéder à des fichiers arbitraires en dehors du répertoire autorisé.
Servez des fichiers statiques à l'aide de FileSystemResource sans contraintes de sécurité supplémentaires.
UtilisezSpring® Boot 2.7.17 (qui inclutSpring® Framework 5.3.39 – vulnérable)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>2.7.17</version>
</dependency>
/static-files/
└── hello.txt
@Configuration
public class StaticResourceRouter {
@Bean
public RouterFunction<ServerResponse> staticFiles() {
return RouterFunctions
.resources("/files/**", new FileSystemResource("/absolute/path/to/static-files")) ;
}
}
GET http://localhost:8080/files/hello.txt
✅ Répond avec le fichier.
GET http://localhost:8080/files/../../../etc/passwd
ou codé en URL :
GET http://localhost:8080/files/..%2F..%2F..%2Fetc%2Fpasswd
Renvoie le contenu de /etc/passwd (ou d'autres fichiers accessibles en dehors de /static-files).
Spring® Framework 5.3.x n'est plus pris en charge par la communauté open source, car sa date de fin de vie est fixée au 30 juin 2023. Cela signifie simplement que la version à partir de cette date ne recevra plus aucune mise à jour pour résoudre ce problème.
Les utilisateurs des composants concernés doivent appliquer l'une des mesures d'atténuation suivantes :
Avez-vous besoin d'un correctif pour cette vulnérabilité pour une autre version du frameworkSpring®? N'hésitez pas à nous contacter, nous sommes là pour vous aider !