Talend : Vulnérabilité Apache Log4j 2

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 Open 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 Open 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 :

Vulnérabilité Apache Log4j 2 pour Talend

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 :

Vulnérabilité Apache Log4j 2 pour Talend

2 - Correction de l'application Talend Open 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é.

Vulnérabilité Apache Log4j 2 pour Talend

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.

Vulnérabilité Apache Log4j 2 pour Talend

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

Vulnérabilité Apache Log4j 2 pour Talend

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.

Vulnérabilité Apache Log4j 2 pour Talend

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

Vulnérabilité Apache Log4j 2 pour Talend

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

Vulnérabilité Apache Log4j 2 pour Talend

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 : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

N'hésitez pas à faire appel à nos consultants experts certifiés Talend, ils sont là pour vous accompagner, Contactez-nous !