Common Vulnerabilities and Exposures (CVE) est un répertoire des informations publiques concernant les vulnérabilités de sécurité. Ce répertoire est géré par l'organisme MITRE et bénéficie du soutien du département de la Sécurité intérieure des États-Unis. La mission du programme CVE est d'identifier, de définir et de cataloguer les vulnérabilités en matière de cybersécurité divulguées publiquement.
Le 10 juin, Censys a révélé une vulnérabilité critique dans PHP-CGI, permettant l'exécution de code à distance par injection d'arguments. Connue sous le nom de CVE-2024-4577, cette vulnérabilité a été publiée le 6 juin 2024 avec un score CVSS de 9,8, la classant comme critique. Elle est due à une neutralisation incorrecte des éléments spéciaux utilisés dans une commande OS, répertoriée sous le CWE-78.
Cette vulnérabilité touche les installations PHP sur Windows en mode CGI ou exposant le binaire PHP, dans les versions suivantes : PHP 8.3 avant 8.3.8, PHP 8.2 avant 8.2.20, et PHP 8.1 avant 8.1.29. Une exploitation réussie permettrait à un attaquant non authentifié d'exécuter du code arbitraire sur un serveur PHP vulnérable, entraînant une compromission totale du système.
L'exploitation de cette vulnérabilité découle d'erreurs dans les conversions d'encodage de caractères, spécifiquement liées à la fonction Best Fit de Windows. Cela permet aux attaquants de contourner des protections antérieures, telles que CVE-2012-1823, par des séquences de caractères spécifiques, facilitant les attaques par injection d'arguments. Bien que cette vulnérabilité ne figure pas actuellement dans la base CISA KEV, ShadowServer a observé des tentatives d'exploitation.
Pour remédier à cette vulnérabilité, PHP a publié les versions 8.3.8, 8.2.20 et 8.1.29 le 6 juin 2024. Il est fortement recommandé de mettre à jour PHP vers ces versions. Pour les systèmes ne pouvant pas être mis à jour immédiatement, des mesures d'atténuation temporaires telles que la modification des règles de réécriture d'Apache ou la désactivation de PHP-CGI sont proposées.
Censys a identifié environ 458 800 instances PHP potentiellement vulnérables au 9 juin 2024, principalement géolocalisées aux États-Unis, suivies par l'Allemagne. Il est important de noter que ce chiffre pourrait surestimer l'impact réel, car il ne détecte pas nécessairement si le mode CGI est activé. La divulgation de la CVE-2024-4577 a été rapidement transformée en arme par le programme TellYouThePass pour pénétrer dans les serveurs et chiffrer les fichiers depuis le 7 juin environ. Censys a publié un tableau de bord qui suit les hôtes infectés publiquement exposés, en observant environ 1 000 à la date du 13 juin, principalement géolocalisés en Chine.
CVE-2024-4577 affecte PHP uniquement en mode CGI, où un serveur web traite les requêtes HTTP et les passe à un script PHP. Même sans configuration CGI, les exécutables PHP comme php.exe et php-cgi.exe peuvent être exploités s'ils sont dans des répertoires accessibles par le serveur web, une situation rare sauf avec XAMPP, qui le configure par défaut. De plus, la locale de Windows doit être en chinois ou japonais.
La vulnérabilité a été annoncée le 6 juin avec un correctif de sécurité. Les chercheurs d'Imperva ont observé que dans les 24 heures suivant cette publication, des attaquants ont exploité cette faille pour installer TellYouThePass, utilisant le binaire mshta.exe pour exécuter un fichier HTML malveillant hébergé par l'attaquant, une méthode connue sous le nom de living off the land.
Censys a publié un tableau de bord pour suivre les hôtes publiquement exposés et infectés par le ransomware TellYouThePass au fil du temps. La première victime exposant des artefacts de ransomware a été identifiée le 8 juin, en ligne avec les observations d'Imperva. Le nombre d'hôtes compromis a varié, passant de 1 800 le 10 juin à environ 1 000 le 13 juin, principalement en Chine. Ce chiffre pourrait être plus élevé si les serveurs compromis n'ont pas d'indexation d'annuaire configurée.
Surveillance globale en temps réel : propagation des infections par le rançongiciel TellYouThePass exploitant CVE-2024-4577
L'exploitation disproportionnée observée en Chine est probablement due au fait que les systèmes Windows avec des localisations chinoises ou japonaises sont vulnérables en raison de leur configuration XAMPP par défaut. Le ransomware modifie le service en un répertoire ouvert, cryptant les fichiers et ajoutant des notes de rançon nommées READ_ME9.html, READ_ME10.html, READ_ME11.html. Les notes de rançon demandent 0,1 BTC.
L'application rapide de correctifs est le meilleur moyen de réduire le risque d'exploitation. La mise à niveau vers Mod-PHP, FastCGI ou PHP-FPM, plus sûrs, est recommandée pour remplacer PHP-CGI, obsolète.
CVE-2024-4577 est une vulnérabilité d'injection de commande dans toutes les versions non corrigées de PHP, exploitable à distance dans certaines circonstances. Elle provient de conversions d'encodage de caractères non sûres, permettant de contourner les protections mises en place pour atténuer la vulnérabilité de la CVE-2012-1823. Les chercheurs ont noté que XAMPP pour Windows utilise par défaut une configuration vulnérable.
Cette campagne suit un schéma connu : une vulnérabilité critique affectant de nombreux serveurs exposés attire des acteurs opportunistes, entraînant une campagne d'exploitation massive. De nombreuses compromissions concernent probablement des serveurs web personnels ou des systèmes oubliés. Le rançongiciel transforme un service en un répertoire ouvert, chiffrant chaque fichier avec une extension .locked, supprimant le fichier original et ajoutant des notes de rançon nommées "READ_ME[0-9]+.html".
Suivi des infections par TellYouThePass
Censys a publié un tableau de bord en direct pour suivre les hôtes publiquement exposés infectés par TellYouThePass. Au 13 juin, environ 1 000 hôtes infectés sont encore en ligne.
Depuis le 7 juin, il y a eu une rapide augmentation du nombre d'hôtes infectés par le ransomware TellYouThePass, exposant des notes de rançon variées telles que "READ_ME9", "READ_ME10" et "READ_ME11". Le pic a été observé le 10 juin avec environ 1 800 hôtes touchés, avant de commencer à diminuer progressivement jusqu'à environ 1 000 hôtes le 13 juin.
Plus de la moitié des infections sont concentrées en Chine, ce qui est cohérent avec les constatations de l'équipe de sécurité taïwanaise Red Team DEVCORE. Ils ont noté que les configurations par défaut des installations XAMPP sur les systèmes Windows en chinois traditionnel, chinois simplifié ou japonais exposent le binaire exécutable PHP dans le répertoire CGI, les rendant ainsi vulnérables à CVE-2024-4577.
La récente série d'attaques se concentre principalement sur les notes de rançon numérotées de 9 à 11. Cependant, Censys a également détecté un faible nombre d'hôtes exposant des notes de rançon plus anciennes telles que READ_ME1.html et READ_ME4.html. Il est possible que ces dernières soient des reliques de campagnes d'exploitation antérieures menées par TellYouThePass.
Des chercheurs d'Arctic Wolf ont suggéré que READ_ME4.html pourrait être lié à la campagne de novembre 2023 ciblant les instances vulnérables d'Apache ActiveMQ. En accord avec cette hypothèse, Censys a identifié des indices d'instances ActiveMQ sur certains hôtes exposant "READ_ME4.html", les reliant potentiellement aux attaques centrées sur ActiveMQ.
La vulnérabilité critique CVE-2024-4577 dans PHP, avec un score de gravité de 9.8, illustre de manière frappante la rapidité avec laquelle les cybercriminels peuvent exploiter des failles de sécurité. Cette vulnérabilité, causée par une conversion incorrecte des caractères Unicode en ASCII par PHP en mode CGI, met en lumière plusieurs enjeux cruciaux en matière de cybersécurité :
- Importance des mises à jour : la rapidité avec laquelle le groupe TellYouThePass a exploité cette faille démontre l'importance vitale de maintenir les systèmes à jour. Les administrateurs de serveurs doivent être vigilants et appliquer les correctifs dès leur disponibilité pour minimiser les risques d'exploitation ;
- Vulnérabilité des configurations par défaut : le fait que les serveurs les plus touchés se trouvent en Chine, au Japon et à Taïwan suggère que certaines configurations par défaut, comme celles de XAMPP, sont particulièrement vulnérables. Cela souligne la nécessité pour les développeurs et administrateurs de personnaliser et sécuriser leurs configurations au-delà des paramètres par défaut ;
- Réactivité des cybercriminels : l'exploitation de la vulnérabilité dès sa publication le 6 juin montre à quel point les cybercriminels peuvent être réactifs et opportunistes. Cela met en évidence la nécessité pour les entreprises de surveiller activement les annonces de nouvelles vulnérabilités et de préparer des plans d'action pour des réponses rapides.
Sources : Censys (1, 2)
Et vous ?
Quel est votre avis sur le sujet ?
En quoi la conversion incorrecte des caractères Unicode en ASCII par PHP en mode CGI constitue-t-elle une faille critique ?
Quelles sont les implications à long terme pour la réputation des entreprises victimes de telles attaques et quelles stratégies de gestion de crise peuvent être adoptées pour atténuer ces impacts ?
Voir aussi :
Davantage de tests sont nécessaires pour garantir la sécurité des applications web, car près de 75 % des entreprises ne les testent qu'une fois par mois ou moins, laissant 40% de la surface d'attaque non testée
70 % des entreprises disposent d'équipes dédiées à la sécurité SaaS, et 39 % d'entre elles augmentent leur budget de cybersécurité SaaS par rapport à l'année dernière, d'après la Cloud Security Alliance
80 % des organisations ne sont pas prêtes pour les règles CISA sur les pratiques de sécurité, pire encore, 84 % des entreprises interrogées n'ont pas mis en place de nomenclatures logicielles, d'après Lineaje