Solucionando Problemas de Rotação de Chaves de Criptografia: CVE-2024-34102
O objetivo deste artigo é ajudar os comerciantes a solucionar problemas de rotação de chaves de criptografia depois de já terem seguido as etapas descritas neste artigo em CVE-2024-34102.
Se você já seguir as etapas do artigo acima e tiver problemas ao girar suas chaves de criptografia, temos um patch isolado para ajudar a resolver possíveis problemas.
Para ajudar a ilustrar as etapas que foram comunicadas e resumidas anteriormente, para proteger contra CVE-2024-34102, bem como as soluções de problemas adicionais encontradas abaixo, você também pode utilizar este fluxograma:
Como aplicar o patch isolado para executar o novo comando
Descompacte o arquivo e consulte Como aplicar um patch de compositor fornecido pelo Adobe em nossa base de dados de suporte para obter instruções.
Adicionar uma nova chave de criptografia sem usar variáveis de ambiente
O comportamento padrão do aplicativo é armazenar a chave de criptografia no arquivo app/etc/env.php
.
As etapas descritas na documentação descrevem como alterar essa chave dentro desse arquivo usando a interface Admin.
As etapas e o patch isolado fornecidos nesta seção permitem que você altere facilmente o valor desse arquivo e permitirão que você solucione os problemas que podem estar ocorrendo na interface Admin.
No entanto, a maneira mais fácil e segura de gerenciar a chave de criptografia é usar variáveis de ambiente. Se você já estiver usando variáveis de ambiente ou estiver interessado em usá-las para gerenciar essa chave, há uma seção separada que descreve essas etapas.
Produtos e versões afetados
Adobe Commerce na nuvem, Adobe Commerce no local e Magento Open Source:
- 2.4.7-p1 e anterior
- 2.4.6-p6 e anterior
- 2.4.5-p8 e anterior
- 2.4.4-p9 e anterior
Patch Isolado para Solucionar Problemas de Detalhes de Rotação de Chave de Criptografia
Use os seguintes patches anexados, dependendo da sua versão do Adobe Commerce/Magento Open Source:
Para a versão 2.4.7, 2.4.7-p1:
Para as versões 2.4.6, 2.4.6-p1, 2.4.6-p2, 2.4.6-p3, 2.4.6-p4, 2.4.6-p5, 2.4.6-p6:
Para as versões 2.4.5, 2.4.5-p1, 2.4.5-p2, 2.4.5-p3, 2.4.5-p4, 2.4.5-p5, 2.4.5-p6, 2.4.5-p7, 2.4.5-p8:
Para as versões 2.4.4, 2.4.4-p1, 2.4.4-p2, 2.4.4-p3, 2.4.4-p4, 2.4.4-p5, 2.4.4-p6, 2.4.4-p7, 2.4.4-p8, 2.4.4-p9:
Após instalar o patch isolado, altere a chave de criptografia ativa com o novo comando CLI.
-
Esse novo comando deve ser executado no ambiente que contém o arquivo
app/etc/env.php
para a chave que você deseja atualizar. -
Confirme se o novo comando existe:
code language-none bin/magento list | grep encryption:key:change
Você deve ver a seguinte saída:
code language-none encryption:key:change Change the encryption key inside the env.php file.
-
Altere a chave de criptografia:
code language-none bin/magento encryption:key:change
-
Se você executou esse comando no sistema de produção, nenhuma outra ação deverá ser necessária.
Se você tiver executado isso em um sistema de desenvolvimento, deverá inserir essa alteração no sistema de produção, pois normalmente implantaria configurações confidenciais.
Atualize a chave de criptografia usando variáveis de ambiente em vez de usar o patch isolado
Como alternativa à seção acima, essas etapas permitirão adicionar uma nova chave de criptografia, preservando os dados criptografados existentes, mesmo que você esteja usando o app/etc/env.php
padrão no momento.
Esta seção se aplica ao Adobe Commerce na Nuvem e ao Cloud Starter, mas também se aplica ao Adobe Commerce no local, embora as etapas e os locais exatos das variáveis dependam de sua infraestrutura.
Colete seu valor atual
- Se você já estiver gerenciando suas chaves com variáveis de ambiente, talvez ela esteja em vários locais possíveis, mas provavelmente estará na variável
CRYPT_KEY
, conforme descrito na documentação. - Se você não estiver usando variáveis, a chave de criptografia estará em
app/etc/env.php
dentro da chave de dadoscrypt/key
.
Em ambos os casos, pode ser um valor multilinha e conter várias linhas aleatórias de dados.
Gerar um novo valor para versões 2.4.7x
As chaves de criptografia são 32 bytes de dados aleatórios que são codificados com base64 e prefixados com base64
.
Para gerar uma nova chave:
-
Usando a ferramenta de sua escolha, gere 32 bytes aleatórios de dados codificados com base64. Por exemplo, usando o OpenSSL CLI, você pode executar
openssl rand -base64 32
, mas qualquer ferramenta de geração aleatória criptograficamente confiável pode ser usada. -
Prefixe esse valor com
base64
. Por exemplo, se a saída do comandoopenssl
ABC123, o valor se tornaria: base64ABC123 -
Anexe o valor gerado ao seu valor existente que você coletou acima. Por exemplo, se o valor existente for base64HelloWorld, o novo valor se tornará:
code language-none base64HelloWorld base64ABC123
Gerar um novo valor para 2.4.6x e versões anteriores
As chaves de criptografia na versão 2.4.6x e anteriores têm 16 bytes de dados aleatórios em um formato codificado hex.
Para gerar uma nova chave:
-
Usando a ferramenta de sua escolha, gere 16 bytes aleatórios de dados. Por exemplo, usando o OpenSSL CLI, você pode executar
openssl rand -hex 16
, mas qualquer ferramenta de geração aleatória criptograficamente confiável pode ser usada. -
Anexe o valor gerado ao seu valor existente que você coletou acima. Por exemplo, se seu valor existente for abc123 e seu valor aleatório da etapa anterior for 456def, seu novo valor se tornará:
code language-none abc123 456def
Adicionar uma nova variável de ambiente
Use o Cloud Console ou magento-cloud CLI para definir a env:MAGENTO_DC_CRYPT__KEY
variável de ambiente para esse novo valor.
Ao salvar a variável, uma reimplantação será acionada automaticamente, o que fará com que o valor seja aplicado.
Atualizações de segurança
Atualizações de segurança relacionadas disponíveis para o Adobe Commerce: