Á la fin de la semaine dernière, plusieurs rapports ont révélé l’exploitation dans la nature d’une vulnérabilité non corrigée dans les produits Confluence Server et Data Center, incitant l'éditeur de logiciels Atlassian à livrer des correctifs d'urgence. Selon les données du service de pare feu d'application web (Web Application Firewall, WAF) de Cloudflare, les attaques ont commencé fin mai. La vulnérabilité, désormais répertoriée en tant que CVE-2022-26134, est jugée critique et permet à des attaquants non authentifiés d’exécuter du code à distance (RCE) sur les serveurs hébergeant les versions de Confluence concernées.

L’éditeur invite ses clients à effectuer une mise à niveau vers les nouvelles versions 7.4.17, 7.13.7, 7.14.3, 7.15.2, 7.16.4, 7.17.4 et 7.18.1, en fonction de la version utilisée. Néanmoins, selon un rapport d'Akamai du 28 juin, malgré l'avertissement d'Atlassian concernant la mise à niveau, les acteurs de la menace essaient toujours d’exploiter activement cette vulnérabilité. Ainsi, les chercheurs d'Akamai ont constaté une moyenne de 20 000 tentatives d'exploitation par jour, après un pic de 100 000 tentatives par jour immédiatement après le signalement de la vulnérabilité. Et ces derniers pensent que la vulnérabilité sera exploitée « pendant au moins les deux prochaines années ». Cette faille apparait ainsi bien plus grave que celle d'août dernier. D’après l'éditeur de CDN, les attaques par injection OGNL ont été multipliées par sept depuis la divulgation de la vulnérabilité de Confluence. Avant la divulgation, la surveillance d'Akamai identifiait environ 790 tentatives d'injection OGNL par jour, un chiffre utilisé comme référence. Les tentatives réussies ont permis d'injecter des logiciels malveillants, notamment des webshells et des cryptomineurs, affectant principalement les entreprises de commerce, de haute technologie et de services financiers. Ces trois secteurs concentrent environ 75 % des tentatives d'attaque.

Vulnérabilité d'injection OGNL dans Confluence

Le trou de sécurité débouche sur de l'injection OGNL (Object-Graph Navigation Language), un langage d'expression open source pour obtenir et définir les propriétés des objets Java. Ce dernier offre une solution plus simple pour réaliser ce qui pourrait être fait directement en Java et il est supporté par de nombreux produits. En fait, l'injection OGNL est une classe de vulnérabilités qui a déjà affecté dans le passé d'autres projets populaires. Par exemple, le vol massif de données d'Equifax en 2017 a été causée par une vulnérabilité d'injection OGNL non corrigée portant la référence CVE-2017-5638, dans le framework d'application web Apache Struts. En exploitant ce genre de failles, les attaquants peuvent tromper les applications en exécutant du code et des commandes arbitraires, ce qui est également le cas aujourd’hui avec la vulnérabilité de Confluence.

Le premier rapport sur cette vulnérabilité a été publié le 2 juin par l’entreprise de sécurité Volexity, qui l'a découverte en enquêtant sur un incident de sécurité chez un client impliquant un serveur Confluence compromis, accessible depuis lnternet. « Un examen initial de l'un des systèmes du serveur Confluence a rapidement permis d'identifier qu'un fichier JSP avait été écrit dans un répertoire web, accessible au public », ont déclaré les chercheurs de Volexity dans un billet de blog. « Le fichier était une copie bien connue de la variante JSP du webshell China Chopper. Cependant, un examen des journaux Web a montré que le fichier avait à peine été consulté. Il semble que le webshell a été écrit pour servir de moyen d'accès secondaire », ont-ils encore expliqué. En analysant un vidage de mémoire du serveur, les chercheurs ont trouvé des preuves que l'application web Confluence lançait des shells bash, c’est à dire des shells de ligne de commande sous Linux. Tout d'abord, le processus Confluence a engendré un processus bash, qui a ensuite engendré un processus Python qui, à son tour, a engendré un shell bash. Le processus s’est poursuivi ensuite par le déploiement d’un implant de mémoire seule disponible publiquement, appelé Behinder et utilisé par le passé dans des attaques contre des serveurs web. L'inconvénient de cet implant est qu'il n'est pas persistant et disparaît si le serveur est redémarré. C'est pourquoi les attaquants ont choisi d'écrire le webshell China Chopper sur le disque afin de disposer d'un moyen secondaire d'accéder au système et de le réinfecter.

Atténuation et réponse à la vulnérabilité de Confluence

Atlassian a réagi rapidement au rapport et a publié un avis contenant une règle WAF et des solutions de contournement temporaires. Les clients qui ne peuvent pas effectuer immédiatement une mise à niveau de la version complète peuvent mettre à niveau seulement quelques-uns des fichiers impactés en fonction de la version qu'ils utilisent. Dans un rapport publié le 6 juin, Cloudflare a indiqué qu'après avoir ajouté ses propres règles pour firewall applicatif relatif à cet exploit et examiné les données historiques des journaux, il a constaté que les premières tentatives d'exploitation de la vulnérabilité avec des charges utiles valides ont commencé le 26 mai. D'autres tentatives correspondaient à la règle de détection du WAF, mais elles n'avaient pas de charge utile et révélaient plus probablement des scans pour tester des vecteurs d'attaque. « Plusieurs groupes d’attaquants ont peut-être mis en commun leurs compétences pour exploiter la vulnérabilité, mais ils n’ont pas partagé leurs connaissances », a conclu Cloudflare.

Les rapports de Volexity et de Cloudflare contiennent tous deux des indicateurs de compromission. Comme les attaques durent depuis deux semaines, les entreprises auraient tout intérêt à analyser dès que possible leurs serveurs Confluence pour détecter les signes d'intrusion par cette vulnérabilité.