Imaginez un château fort, réputé imprenable, où une faille dans une porte cachée pourrait permettre à des attaquants d’entrer discrètement. C’est exactement ce que représente la vulnérabilité CVE-2024-56337 dans Apache Tomcat, une des bases du web moderne. Cette faille, révélée par la Apache Software Foundation (ASF), met en lumière un danger important pour les serveurs utilisant ce logiciel, exposant potentiellement des milliers de systèmes à des attaques d’exécution de code à distance (Remote Code Execution, ou RCE).
Un problème enraciné dans une mitigation incomplète
Cette vulnérabilité découle d’une mitigation incomplète pour une autre faille critique, CVE-2024-50379, déjà traitée en décembre 2024. Ces deux failles exploitent un mécanisme complexe connu sous le nom de Time-of-check Time-of-use (TOCTOU).
Comment fonctionne le TOCTOU ?
Le TOCTOU ressemble à un guet-apens : au moment où un fichier est vérifié, il semble inoffensif, mais une fois utilisé, il devient malveillant. Sur un système de fichiers insensible à la casse, cette attaque permet aux fichiers uploadés d’être interprétés comme des fichiers JSP (Java Server Pages), ouvrant la porte à une exécution de code malveillant.
Lorsque plusieurs processus concurrents lisent et écrivent le même fichier, la vulnérabilité exploite les vérifications insuffisantes de sensibilité à la casse pour contourner les sécurités et injecter des fichiers dangereux dans l’application.
Les versions vulnérables d’Apache Tomcat
Selon l’avis de sécurité publié, CVE-2024-56337 affecte les versions suivantes :
- Apache Tomcat 11.0.0-M1 à 11.0.1 (corrigée à partir de 11.0.2)
- Apache Tomcat 10.1.0-M1 à 10.1.33 (corrigée à partir de 10.1.34)
- Apache Tomcat 9.0.0.M1 à 9.0.97 (corrigée à partir de 9.0.98)
Configuration Java requise
La correction de cette vulnérabilité nécessite également des ajustements spécifiques selon la version de Java utilisée :
- Pour Java 8 et Java 11, définissez la propriété système
sun.io.useCanonCaches
à false. - Pour Java 17, assurez-vous que cette propriété est désactivée.
- Avec Java 21 et versions ultérieures, aucune action n’est requise, car cette propriété a été supprimée.
L’importance d’une mise à jour immédiate
Vous vous demandez peut-être pourquoi cette vulnérabilité est si critique. Imaginez une serrure défectueuse sur votre porte principale. Vous pouvez avoir les murs les plus solides, mais si la porte est compromise, tout le château est en danger.
Dans le cas de CVE-2024-56337, les attaquants peuvent exploiter cette faille pour :
- Télécharger des fichiers malveillants.
- Contourner les contrôles de sécurité.
- Exécuter du code arbitraire avec des privilèges élevés.
Les serveurs Apache Tomcat sont largement utilisés dans le monde entier, hébergeant des millions de sites web et d’applications critiques. Une exploitation réussie pourrait entraîner des vols de données, des interruptions de service ou des compromissions de systèmes entiers.
Une vulnérabilité mise au jour par des experts
Cette faille n’aurait pas été découverte sans le travail minutieux de plusieurs chercheurs en sécurité, dont Nacl, WHOAMI, Yemoli, et Ruozhi. L’équipe KnownSec 404 a également signalé indépendamment cette faille, apportant une preuve de concept pour démontrer son exploitabilité.
Ce type de collaboration montre l’importance d’une communauté proactive dans la détection et la résolution des failles avant qu’elles ne soient massivement exploitées.
Une menace récurrente : Webmin et d’autres vulnérabilités critiques
Parallèlement à CVE-2024-56337, une autre faille critique a été signalée dans Webmin, une interface populaire pour la gestion de serveurs. Identifiée sous le nom CVE-2024-12828, cette vulnérabilité, avec un score CVSS de 9.9, permet à des attaquants authentifiés d’exécuter du code arbitraire avec les privilèges root.
Points communs avec Tomcat
Les deux vulnérabilités soulignent une réalité préoccupante : les systèmes essentiels au fonctionnement du web sont fréquemment ciblés par des attaquants exploitant des erreurs subtiles mais critiques dans leur code.
Ce que vous devez faire dès maintenant
Face à ces menaces, la meilleure défense est une vigilance constante et une mise à jour proactive de vos systèmes. Si vous utilisez Apache Tomcat, voici les étapes que vous devriez suivre :
- Identifiez votre version : Vérifiez si votre serveur utilise une version vulnérable.
- Appliquez les mises à jour : Installez les versions corrigées (11.0.2, 10.1.34, ou 9.0.98).
- Adaptez vos configurations Java : Assurez-vous que la propriété
sun.io.useCanonCaches
est correctement configurée. - Surveillez vos systèmes : Implémentez des outils de détection pour repérer les activités suspectes liées à cette faille.
En adoptant ces mesures, vous pouvez transformer cette menace en opportunité pour renforcer la sécurité de vos infrastructures.