Tous les produits
Search
Centre de documentation

E-MapReduce:Bulletin de sécurité | Vulnérabilité d'exécution de code à distance Apache Log4j2

Dernière mise à jour :Aug 20, 2026

Alibaba Cloud a récemment découvert une vulnérabilité d'exécution de code à distance (RCE) dans le composant Apache Log4j2 et l'a signalée à la Fondation Apache Software. Cette rubrique décrit l'impact de cette vulnérabilité ainsi que le plan de correction correspondant.

Impact

Dans E-MapReduce (EMR), les composants affectés incluent Hive, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark et Zeppelin. Spark et Zeppelin sont concernés car ils dépendent du composant Hive.

Plan de correction

Remplacez les fichiers JAR Log4j2 vulnérables de votre cluster EMR par la version 2.17.2 et modifiez la configuration Log4j de Hive et Spark pour désactiver la fonctionnalité JNDI Lookup en définissant log4j2.formatMsgNoLookups=true. Pour des instructions détaillées, consultez la section Procédure de correction.

Ce plan de correction présente les caractéristiques suivantes :

  • Il s'applique aux versions EMR-3.38.2 et antérieures, EMR-5.4.2 et antérieures, ainsi qu'aux versions EMR 4.x. La vulnérabilité est corrigée dans les versions EMR-3.38.3 et ultérieures, ainsi que EMR-5.4.3 et ultérieures. Aucune action n'est requise pour ces versions.

  • Redémarrez les composants correspondants après l'application de ce plan.

  • Le script de correction n'affecte pas vos services en ligne. Toutefois, comme la correction ne prend effet qu'après le redémarrage des composants, nous vous recommandons d'effectuer cette procédure pendant les heures creuses.

Procédure de correction

Clusters EMR

  1. Cliquez sur patches-log4j.tar.gz pour télécharger le package de correctifs.

  2. Connectez-vous au nœud maître du cluster EMR et placez le package de correctifs téléchargé à l'étape Étape 1 dans le répertoire HOME de l'utilisateur emr-user ou hadoop.

  3. Décompressez le package de correctifs et exécutez les commandes suivantes en tant qu'utilisateur emr-user ou hadoop.

    • Pour les clusters de scénarios DataLake, Dataflow, OLAP, DataServing et personnalisés :

      su emr-user
      tar zxf patches-log4j.tar.gz
    • Pour les autres clusters :

      su hadoop
      tar zxf patches-log4j.tar.gz
  4. Modifiez le fichier hosts du package de correctifs pour ajouter les noms d'hôte de tous les nœuds du cluster, tels que emr-header-1 ou emr-worker-1. Ajoutez un nom d'hôte par ligne.

    cd patches
    vim hosts

    Voici un exemple de contenu du fichier hosts :

    emr-header-1
    emr-worker-1
    emr-worker-2
    Important

    Pour les clusters exécutant EMR 3.41 ou une version ultérieure de la série EMR 3.x, ou EMR 5.7.0 ou une version ultérieure de la série EMR 5.x, le format du nom d'hôte a changé. Voici un exemple de contenu du fichier hosts :

    core-1-1
    core-1-2
    task-1-1
    task-1-2
  5. Exécutez le script fix.sh pour appliquer le correctif.

    ./fix.sh

    Après l'exécution du script, le message suivant s'affiche :

    ### NOTICE: YOU CAN RESTORE THIS PATCH BY RUN RESTORE SCRIPT ABOVE
    $> sh ./restore.sh 20211213001755
    ### DONE

    Pour annuler le correctif, exécutez la commande suivante :

    ./restore.sh 20211213001755
    Remarque

    Pour les jobs YARN en cours d'exécution (applications), tels que les jobs Spark Streaming ou Flink, arrêtez les jobs avant d'effectuer un redémarrage progressif des NodeManagers YARN.

  6. Redémarrez les services.

    Pour corriger entièrement la vulnérabilité, redémarrez les composants affectés, notamment Hive, HDFS, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark et Zeppelin.

    Pour redémarrer le composant Hive, accédez à la page du service Hive dans la console EMR et choisissez More > Restart dans le coin supérieur droit.

Clusters Gateway

Cette procédure de correction repose sur un accès SSH sans mot de passe. Pour un cluster Gateway, téléchargez manuellement le package de correctifs sur chaque nœud du cluster et suivez la procédure des clusters EMR pour appliquer le correctif sur chaque nœud.

Important
  • Dans le fichier hosts du package de correctifs, saisissez uniquement le hostname du nœud actuel.

  • Un cluster Gateway n'exécute aucun processus de composant. Par conséquent, il n'est pas nécessaire de redémarrer les services après le téléchargement du package de correctifs.

Nouveaux clusters et extensions horizontales

Ajoutez une action d'amorçage dans la console EMR pour corriger automatiquement la vulnérabilité lors de la création d'un cluster EMR ou de l'extension horizontale d'un cluster existant. Suivez les étapes ci-dessous :

  1. Cliquez sur patches-log4j.tar.gz et bootstrap_log4j.sh pour télécharger le package de correctifs et le script d'amorçage, puis téléchargez-les vers Object Storage Service (OSS).

    Par exemple, les chemins OSS des fichiers sont oss://<bucket-name>/path/to/patches-log4j.tar.gz et oss://<bucket-name>/path/to/bootstrap_log4j.sh.

  2. Ajoutez une action d'amorçage dans la console EMR. Pour plus d'informations, consultez la section Gérer les actions d'amorçage.

    Dans la boîte de dialogue Add Bootstrap Action, configurez les paramètres.

    Parameter

    Description

    Name

    Le nom de l'action d'amorçage. Exemple : fix-log4j-vulnerability.

    Script Address

    L'emplacement OSS du script.

    Le chemin du script doit être au format oss://**/*.sh. Dans cet exemple, utilisez oss://<bucket-name>/path/to/bootstrap_log4j.sh.

    Parameter

    Le paramètre du script d'action d'amorçage, qui spécifie les valeurs des variables référencées dans le script.

    Dans cet exemple, utilisez oss://<bucket-name>/path/to/patches-log4j.tar.gz .

    Execution Scope

    Sélectionnez Cluster.

    Execution Time

    Sélectionnez After Component Startup.

    Execution Failure Policy

    Sélectionnez Proceed.

  3. Lors de l'extension horizontale d'un cluster existant, il suffit de redémarrer les composants correspondants sur les nouveaux nœuds. Si vous créez un nouveau cluster, redémarrez les composants tels que HDFS, Hive, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark et Zeppelin.