Il n’y a pas d’alerte visible, concernant cette faille zero-day, sur la page Web principale de l’entreprise, qui présente ses outils les plus connus, à savoir JIRA (un système de suivi des tickets) et Trello (un outil de gestion de projet en ligne), mais vous trouverez Confluence Security Advisory 2022-06-02 sur Confluence, un site secondaire.
Le numéro de bug officiel est CVE-2022-26134.
L’existence de cette faille zero-day a été révélée par Volexity, la société américaine de réponse aux menaces , qui prétend avoir découvert la vulnérabilité lors de l’investigation d’un véritable incident qui “comprenait l’écriture de webshells JSP sur le disque“.
Des webshells revisités
Vous vous souvenez sans doute des webshells, car ils ont fait la une de l’actualité il y a un peu plus d’un an lors des fameuses attaques Hafnium, qui auraient été menées par des pirates chinois contre les serveurs Microsoft Exchange en mars 2021.
Les webshells sont une manière malveillante d’ouvrir une porte dérobée (backdoor) dans un réseau à l’aide d’une attaque qui se résume souvent, pour les attaquants, à l’écriture d’un simple fichier placé dans une partie d’un serveur Web où le contenu sera ensuite stocké.
Dans les années 1990, les pirates ayant un accès en écriture à votre site Web auraient probablement apprécié de pouvoir ajouter des crânes enflammés à votre page d’accueil en attirant immédiatement l’attention du public sur le fait qu’ils s’étaient introduits avec succès dans votre système.
Mais en ajoutant une page Web qui comprend ce que l’on appelle un script côté serveur, les attaquants de nos jours peuvent obtenir un accès secret à votre réseau sans attirer l’attention sur eux.
En effet, de nombreux serveurs Web ne contiennent pas seulement des fichiers statiques qui sont envoyés aux utilisateurs distants lorsqu’ils saisissent la bonne URL.
Aujourd’hui, les serveurs Web s’appuient souvent sur des fichiers qui, lorsqu’ils sont demandés par un utilisateur, sont exécutés en tant que programme par un moteur de script à l’intérieur du serveur Web et utilisés pour générer le contenu réel qui sera ensuite renvoyé.
Si cette possibilité vous semble dangereuse, sachez que c’est effectivement le cas, bien qu’elle soit généralement considérée comme une fonctionnalité, et non comme un bug.
En effet, les scripts côté serveur sont à la base de technologies telles que Microsoft ASP (Active Server Pages : le nom résume tout !) et Java JSP (Jakarta Server Pages).
Comme le dit Wikipédia :
JSP […] est un ensemble de technologies qui aide les développeurs de logiciels à créer des pages Web générées dynamiquement basées sur le HTML [et] d’autres types de documents.
Les webshells peuvent être aussi basiques qu’une simple ligne de code qui lance un processus en trois étapes comme celui présenté ci-dessous :
--> Extraire le texte de l'URL ou du corps de la requête Web entrante --> Exécuter le texte extrait en tant que script --> Renvoyer la sortie du script malveillant comme réponse
Le webshell n’a même pas besoin de contenir un code malveillant spécifique qui pourrait attirer l’attention.
Tant que l’attaquant peut contrôler (ou même simplement deviner) le nom du fichier webshell qu’il a implanté, il peut simplement visiter l’URL du serveur qui correspond à ce fichier, et ce à tout moment…
…et télécharger un nouveau code malveillant pour une exécution immédiate à chaque fois.
Bien entendu, ce type de possibilité permettant “d’exécuter tout ce que vous voulez à tout moment” a tendance à laisser derrière elle des traces qu’un attaquant ne peut pas facilement contrôler et qu’un chasseur de menaces peut rechercher, telles que des messages d’erreur inattendus, des connexions réseau inhabituelles ou des processus non liés au Web apparaissant sur un serveur Web.
Mais ces artefacts ne sont que des effets secondaires d’une activité malveillante qui a déjà eu lieu, de sorte que les attaquants ont une longueur d’avance jusqu’à ce qu’une personne s’en aperçoive.
Que s’est-il passé ?
Comme vous pouvez l’imaginer, Atlassian ne donne aucune information spécifique sur cette faille zero-day à ce stade.
Atlassian a initialement conseillé à ses clients d’essayer de filtrer les URL contenant ${
, affirmant que les bloquer pourrait “réduire les risques“, bien qu’il ait maintenant officiellement retiré cette suggestion (voir ci-dessous).
Ainsi, ce bug ressemble un peu à la vulnérabilité tristement célèbre nommée Log4Shell de la fin 2021, où le texte qui était journalisé n’était pas réellement journalisé tel quel s’il contenait des commandes spéciales utilisant des caractères tels que ${....}
.
NB : Si vous avez déjà utilisé le shell Bash, vous serez familier avec ce type de “métacommande”. Dans Bash, les parenthèses magiques sont rondes et non sinueuses, de sorte que le texte
$(runthis)
n’est pas utilisé exactement tel qu’il est écrit, mais est plutôt remplacé par la sortie générée en exécutant la commanderunthis
, laquelle est très différente et s’avère être plutôt dangereuse en réalité.
Quoi faire?
Atlassian a considéré ce bug comme Critique et a déclaré qu’il fera l’objet d’un correctif “approximativement vers la fin de journée (EOD) du 3 juin PDT“, ce qui était à la fois rassurant mais vague et redondant.
NB : L’expression EOD n’était pas spécifique en soi et n’avait pas vraiment besoin du mot “approximativement” pour l’accompagner.
N’oubliez pas que EOD signifie fin de journée et peut donc avoir lieu juste une minute avant minuit.
De plus, 2022-06-03T23:59 UTC-7
(où PDT est l’abréviation de Pacific Daylight Time, tel qu’utilisé sur la côte ouest des États-Unis pendant l’été) correspond à 2022-06-04T06:59 Zulu
, à savoir juste avant 8 heures du matin le samedi au Royaume-Uni et juste avant 9 heures du matin en Europe occidentale.
Mise à jour. Les correctifs d’Atlassian sont sortis. Toutes les versions Confluence Server et Data Center officiellement prises en charge sont affectées, et des correctifs ont apparemment été publiés pour toutes ces versions, y compris les versions 7.4.17, 7.13.7, 7.14.3, 7.15.2, 7.16.4, 7.17.4 et 7.18. .1. La société a également expliqué comment effectuer un “correctif” manuel en mettant à jour vous-même des fichiers Java spécifiques si votre entreprise a encore un processus lent pour autoriser les mises à jour appropriées. Vous devez supprimer deux fichiers bogués
.jar
(Archive Java) et les remplacer par des versions plus récentes, et ajouter un nouveau fichier.class
(module Java compilé). [Ajouté le 2022-06-06T16:00Z.]
Les actions recommandées sont les suivantes :
- Patchez tout de suite si vous le pouvez : une mise à jour formelle est le meilleur choix.
- Installez le correctif manuel d’Atlassian si vous ne pouvez pas faire autrement : c’est le deuxième meilleur choix.
- Mettez temporairement vos serveurs Confluence hors ligne, si possible, jusqu’à ce que vous ayez installé le correctif.
- Bloquez l’accès ouvert à vos serveurs directement depuis Internet si vous le pouvez.
Notez qu’Atlassian a initialement suggéré une solution de contournement impliquant le blocage des URL entrantes contenant la séquence de caractères spéciaux ${
, en supposant que vous disposiez d’un moyen rapide et efficace d’ajouter un filtre basique de ce type.
Cependant, la société a maintenant officiellement supprimé ce conseil, probablement parce qu’un correctif approprié a maintenant été publié.
NB : Nous soupçonnons qu’un filtre de trafic réseau global pour ${
serait susceptible non seulement de passer à côté de véritables attaques, mais également de bloquer des données légitimes, produisant ainsi à la fois des faux négatifs et des faux positifs.
Pour résumer, et comme toujours : Patchez tôt, patchez souvent !
Vous n’avez pas assez de temps ou de ressources pour garder une longueur d’avance en matière de cybersécurité ?
Vous ne savez pas par où commencer lorsque vous repérez une activité suspecte ?
Pour en savoir plus sur Sophos Managed Threat Response (MTR) :
Sophos MTR : Réponse aux menaces dirigée par des experts
Service de chasse aux menaces, de détection et de réponse managé par une équipe d’experts 24/7
Billet inspiré de Atlassian announces 0-day hole in Confluence Server – update now!, sur Sophos nakedsecurity.