Todos os produtos
Search
Central de documentação

E-MapReduce:Security bulletin | Apache Log4j2 remote code execution vulnerability

Última atualização: Aug 20, 2026

A Alibaba Cloud descobriu recentemente uma vulnerabilidade de execução remota de código (RCE) no componente Apache Log4j2 e a reportou à Apache Software Foundation. Este tópico descreve o impacto da vulnerabilidade e o plano de correção correspondente.

Impacto

No E-MapReduce (EMR), os componentes afetados incluem Hive, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark e Zeppelin. O Spark e o Zeppelin são afetados porque dependem do componente Hive.

Plano de correção

Substitua os arquivos JAR vulneráveis do Log4j2 no seu cluster EMR pela versão 2.17.2 e modifique a configuração do Log4j no Hive e no Spark para desativar o recurso JNDI Lookup definindo log4j2.formatMsgNoLookups=true. Para instruções detalhadas, consulte Procedimento de correção.

Este plano de correção apresenta as seguintes características:

  • Aplica-se ao EMR-3.38.2 e anteriores, EMR-5.4.2 e anteriores e versões EMR 4.x. A vulnerabilidade foi corrigida no EMR-3.38.3 e posteriores e no EMR-5.4.3 e posteriores. Nenhuma ação é necessária para essas versões.

  • Reinicie os componentes correspondentes após aplicar este plano.

  • O script de correção não afeta seus services online. No entanto, como a correção só entra em vigor após a reinicialização dos componentes, recomendamos executar este procedimento em horários de baixa demanda.

Procedimento de correção

Clusters EMR

  1. Clique em patches-log4j.tar.gz para baixe o pacote de patch.

  2. Faça login no nó mestre do cluster EMR e coloque o pacote de patch baixado na Etapa 1 no diretório HOME do usuário emr-user ou hadoop.

  3. Descompacte o pacote de patch e execute os comandos a seguir como usuário emr-user ou hadoop.

    • Para clusters de cenários DataLake, Dataflow, OLAP, DataServing e personalizados:

      su emr-user
      tar zxf patches-log4j.tar.gz
    • Para outros clusters:

      su hadoop
      tar zxf patches-log4j.tar.gz
  4. Edite o arquivo hosts no pacote de patch para adicionar os nomes de host de todos os nós do cluster, como emr-header-1 ou emr-worker-1. Adicione um nome de host por linha.

    cd patches
    vim hosts

    Veja a seguir um exemplo do conteúdo do arquivo hosts:

    emr-header-1
    emr-worker-1
    emr-worker-2
    Importante

    Para clusters que executam EMR 3.41 ou posterior na série EMR 3.x, ou EMR 5.7.0 ou posterior na série EMR 5.x, o formato do nome de host mudou. Veja a seguir um exemplo do conteúdo do arquivo hosts:

    core-1-1
    core-1-2
    task-1-1
    task-1-2
  5. Execute o script fix.sh para aplicar a correção.

    ./fix.sh

    Após a execução, o script retorna a seguinte mensagem:

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

    Para reverter a correção, execute o comando a seguir:

    ./restore.sh 20211213001755
    Nota

    Para jobs YARN (aplicações) em execução, como jobs Spark Streaming ou Flink, pare os jobs antes de realizar uma reinicialização gradual dos NodeManagers do YARN.

  6. Reinicie os services.

    Para corrigir totalmente a vulnerabilidade, reinicie os componentes afetados, incluindo Hive, HDFS, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark e Zeppelin.

    Para reiniciar o componente Hive, acesse a página de service do Hive no console EMR e escolha More > Restart no canto superior direito.

Clusters Gateway

Este procedimento de correção depende de acesso SSH sem senha. Para um cluster gateway, faça upload manual do pacote de patch para cada nó do cluster e siga o procedimento para clusters EMR a fim de aplicar a correção em cada nó.

Importante
  • No arquivo hosts do pacote de patch, insira apenas o hostname do nó atual.

  • Um cluster gateway não executa processos de componentes. Portanto, não é necessário reiniciar nenhum service após fazer upload do pacote de patch.

Novos clusters e expansões

Adicione uma ação de bootstrap no console EMR para corrigir automaticamente a vulnerabilidade ao criar um cluster EMR ou expandir um cluster existente. Siga estas etapas:

  1. Clique em patches-log4j.tar.gz e bootstrap_log4j.sh para baixe o pacote de patch e o script de bootstrap e, em seguida, faça upload deles para o Object Storage Service (OSS).

    Por exemplo, os caminhos OSS dos arquivos são oss://<bucket-name>/path/to/patches-log4j.tar.gz e oss://<bucket-name>/path/to/bootstrap_log4j.sh.

  2. Adicione uma ação de bootstrap no console EMR. Para mais informações, consulte Gerenciar ações de bootstrap.

    Na caixa de diálogo Add Bootstrap Action, configure os parâmetros.

    Parâmetro

    Descrição

    Name

    Nome da ação de bootstrap. Exemplo: fix-log4j-vulnerability.

    Script Address

    Localização OSS do script.

    O caminho do script deve estar no formato oss://**/*.sh. Neste exemplo, use oss://<bucket-name>/path/to/bootstrap_log4j.sh.

    Parameter

    Parâmetro para o script da ação de bootstrap, que especifica os valores das variáveis referenciadas no script.

    Neste exemplo, use oss://<bucket-name>/path/to/patches-log4j.tar.gz .

    Execution Scope

    Selecione Cluster.

    Execution Time

    Selecione After Component Startup.

    Execution Failure Policy

    Selecione Proceed.

  3. Ao expandir um cluster existente, reinicie apenas os componentes correspondentes nos novos nós. Se você crie um novo cluster, será necessário reiniciar componentes como HDFS, Hive, Presto, Impala, Druid, Flink, Solr, Ranger, Storm, Oozie, Spark e Zeppelin.