Nous vous informons qu'une faille de sécurité importante a été découverte le 9 décembre 2021.
Cette vulnérabilité affecte les applications dotées d'une bibliothèque journalisant les événements "Apache Log4j 2" dont la version est inférieure à 2.16.0.
Si cette faille est exploitée, des personnes malveillantes pourraient prendre le contrôle à distance du système par le biais d'une injection d'une chaîne de caractères spécifique.
La faille est présente sur les applications Talend Cloud déployé de manière hybride, Talend On Premise, Talend Studio.
En attendant un correctif pérenne mettant à jour cette bibliothèque, un moyen de contournement temporaire a été publié sur la communauté Talend précisant le paramétrage Java à apporter aux divers services Talend. (TAC, Studio, Talend Remote Engine). Nous vous invitons à la consulter.
Nous vous invitons également à vérifier vos autres applications => liste applications concernées non exhaustive
Nous vous proposons ci-dessous un tuto pour les versions Talend Studio.
La faille concerne la bibliothèque Log4j de la version 2.00 beta 9 à la version 2.15 incluse.
NB : Talend peut se servir de Log4j pour plusieurs choses
- pour ses propres besoins
- pour être utilisé par les composants
Talend v5 ou v6
Pas forcément impacté mais il faut vérifier l'éventuelle utilisation de Log4j v2 dans l'arborescence des Studios
En effet, la bibliothèque a pu être téléchargée avec l'installation d'un composant.
Talend v7 et supérieure
Forcément impacté
À noter : Le contournement proposé ici n'est que temporaire => une mise à jour des applications et jobs Talend de la version TOS corrective sera nécessaire quand elle sera disponible.
Voir ci-dessous pour la méthode de recherche.
1 - Que vérifier ?
Lancer une recherche sur les fichiers log4j-core* sur l'arborescence du Studio.
Vous êtes concerné si un fichier avec ce pattern de nommage ressort :
Ici il s'agit de la version 2.12.
Vous pouvez aussi vérifier dans les Modules du Studio le référencement de Log4j :
2 - Correction de l'application Talend Studio
Modifier le fichier *.ini
Dans l'arborescence Talend, on retrouve le fichier *.ini qui contient les paramètres additionnels pour la création de la JVM nécessaire à TOS
S'il y en a deux (32bits et 64bits) alors il faudra modifier les deux par sécurité.
Créer un backup du fichier "*.ini" et lui ajouter l'extension ".save"
Ouvrir le fichier "*.ini" avec un éditeur de code comme Notepad++ et ajouter l'argument -Dlog4j2.formatMsgNoLookups=true à la dernière ligne.
Fermer et relancer le Studio s'il était ouvert.
Modifier la configuration Log4j dans les Propriétés du projet (à faire pour chaque projet)
Ouvrir le studio
Menu Fichier -> Modifier les propriétés du projet -> Log4j
Localiser la chaîne %msg%n et la remplacer par %msg{nolookups}%n
Modifier les arguments de compilation
Ajouter l'argument -Dlog4j2.formatMsgNoLookups=true
Cela ajoutera automatiquement l'argument au script batch et powershell lors des futures compilations.
Modifier les arguments des jobs déjà compilés :
- Pour chacun des jobs déjà compilés il faut modifier les scripts *.ps1 et *.bat existants (généralement seul un des deux est utile, dans ce cas celui qui ne sert pas peut être supprimé)
- Ouvrir le fichier avec un éditeur de code
- Ajouter l'argument -Dlog4j2.formatMsgNoLookups=true avant l'argument -cp
MAJ du 22/12/21
Un petite mise à jour suite aux dernières recommandations de Talend :
1/ À priori la faille ne serait exploitable avec Talend que si Log4j2 est actif ou en cours d'utilisation.
2/ Si cette case est décochée c'est OK aussi
3/ Pour annihiler le risque : supprimer la classe JndiLookup.class de la bibliothèque Log4j-core
En linux/unix : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/
En Windows :
- Rechercher tous les fichiers Log4j-core*.jar d'une version < à 2.16.0
- Faire des backups (ne pas les laisser en prod -> les renommer, les archiver, etc...)
- Renommer le(s) fichier Log4j-core*.jar en Log4j-core*.zip
- Ouvrir le zip
- Aller à l'emplacement org/apache/logging/log4j/core/lookup/
- Supprimer le dossier JndiLookup.class
- Quitter le zip
- Renommer le fichier Log4j-core*.zip en Log4j-core*.jar
Nous pouvons vous accompagner dans le déploiement de cette méthode de contournement. Si vous avez des questions supplémentaires ou un besoin d'assistance, notre équipe support Talend se tient à votre disposition. Contactez-nous !
Support Talend :
N'hésitez pas à faire appel à nos consultants experts certifiés Talend, ils sont là pour vous accompagner, Contactez-nous !