Solución de problemas de rotación de clave de cifrado: CVE-2024-34102

Este artículo está diseñado para ayudar a los comerciantes a solucionar problemas de rotación de claves de cifrado después de haber seguido los pasos descritos en este artículo en CVE-2024-34102.

Si ya ha seguido los pasos del artículo anterior y tiene problemas para girar las claves de cifrado, tenemos un parche aislado para ayudar a resolver posibles problemas.

Para ilustrar los pasos que se han comunicado y resumido anteriormente, para protegerse contra CVE-2024-34102, así como la solución de problemas adicional que se encuentra a continuación, también puede utilizar este diagrama de flujo:

Cómo aplicar la revisión aislada para ejecutar el nuevo comando

Descomprima el archivo y vea Cómo aplicar un parche del compositor proporcionado por Adobe en nuestra base de conocimiento de asistencia para obtener instrucciones.

Agregando una nueva clave de cifrado sin usar variables de entorno

El comportamiento predeterminado de la aplicación es almacenar la clave de cifrado en el archivo app/etc/env.php.

Los pasos descritos en la documentación describen cómo cambiar esta clave dentro de ese archivo mediante la interfaz de administración.

Los pasos y los parches aislados que se proporcionan en esta sección le permiten cambiar fácilmente el valor de ese archivo y le permiten solucionar los problemas que puede estar experimentando a través de la interfaz de administración.

Sin embargo, la forma más fácil y segura de administrar la clave de cifrado es utilizar variables de entorno. Si ya está utilizando variables de entorno o está interesado en utilizarlas para administrar esta clave, hay una sección independiente que describe esos pasos.

Descripción description

Productos y versiones afectados

Adobe Commerce en la nube, Adobe Commerce local y Magento Open Source:

  • 2.4.7-p1 y anteriores
  • 2.4.6-p6 y anteriores
  • 2.4.5-p8 y anteriores
  • 2.4.4-p9 y anteriores

Resolución resolution

Parche aislado para solucionar problemas con los detalles de rotación de clave de cifrado

Utilice los siguientes parches adjuntos, según la versión de Adobe Commerce/Magento Open Source:

Para la versión 2.4.7, 2.4.7-p1:

Para las versiones 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 las versiones 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 las versiones 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:

Después de instalar el parche aislado, cambie la clave de cifrado activa con el nuevo comando CLI.

Nota: Este nuevo comando de CLI almacenará en déclencheur una memoria caché limpia al ejecutarse.

  1. Este nuevo comando debe ejecutarse en el entorno que contiene el archivo app/etc/env.php de la clave que desea actualizar.
  2. Confirme que el nuevo comando existe: bin/magento list | grep encryption:key:change
    • Debería ver el siguiente resultado:
      • encryption:key:change Change the encryption key inside the env.php file.
  3. Cambiar la clave de cifrado: bin/magento encryption:key:change
  4. Si ha ejecutado este comando en el sistema de producción, no debería ser necesario realizar ninguna otra acción. Si ha ejecutado esto en un sistema de desarrollo, debe obtener este cambio en su sistema de producción, ya que normalmente implementaría configuraciones confidenciales.

Actualice la clave de cifrado mediante variables de entorno en lugar de utilizar el parche aislado

Como alternativa a la sección anterior, estos pasos le permitirán agregar una nueva clave de cifrado preservando al mismo tiempo los datos cifrados existentes, incluso si está utilizando el valor predeterminado app/etc/env.php. Esta sección se aplica a Adobe Commerce en Cloud y Cloud Starter, pero también se aplica a Adobe Commerce local, aunque los pasos y ubicaciones exactos de las variables dependerán de su infraestructura.

Recopile su valor actual

  • Si ya está administrando las claves con variables de entorno, puede estar en varias ubicaciones posibles, pero lo más probable es que esté en la variable CRYPT_KEY tal como se describe en la documentación.
  • Si no usa variables, la clave de cifrado estará en app/etc/env.php dentro de la clave de datos crypt/key.

En cualquier caso, puede ser un valor multilínea y contener varias líneas aleatorias de datos.

Generar un nuevo valor para las versiones 2.4.7x

Las claves de cifrado son 32 bytes de datos aleatorios codificados con base64 y con el prefijo base64. Para generar una clave nueva:

  1. Con la herramienta que elija, genere 32 bytes aleatorios de datos codificados con base64. Por ejemplo, con la CLI de OpenSSL, puede ejecutar openssl rand -base64 32, pero se puede utilizar cualquier herramienta de generación criptográficamente aleatoria confiable.

  2. Agregue a ese valor el prefijo base64. Por ejemplo, si el comando openssl genera ABC123, el valor se convertiría en: base64ABC123

  3. Anexe el valor generado al valor existente que ha recopilado anteriormente. Por ejemplo, si el valor existente es base64HelloWorld, el nuevo valor pasaría a ser:

    code language-none
    base64HelloWorld    base64ABC123
    

Las claves de cifrado de la versión 2.4.6x y versiones anteriores son 16 bytes de datos aleatorios en un formato con codificación hexadecimal. Para generar una clave nueva:

  1. Con la herramienta que elija, genere 16 bytes aleatorios de datos. Por ejemplo, con la CLI de OpenSSL, puede ejecutar openssl rand -hex 16, pero se puede utilizar cualquier herramienta de generación criptográficamente aleatoria confiable.

  2. Anexe el valor generado al valor existente que ha recopilado anteriormente. Por ejemplo, si el valor actual es abc123 y el valor aleatorio del paso anterior es 456def, el nuevo valor pasará a ser:

    abc123

    456def

Agregar una nueva variable de entorno

Use la consola de nube o la CLI de Magento-Cloud para establecer la env:MAGENTO_DC_CRYPT__KEY variable de entorno en este nuevo valor.

Nota: Tenga en cuenta que si elige marcar la variable como confidencial, puede que desee guardar una copia de seguridad externa de este valor, ya que se ocultará de todas las interfaces y solo será visible para la aplicación.

Al guardar la variable, se activará automáticamente una reimplementación que hará que se aplique el valor.

Actualizaciones de seguridad

Actualizaciones de seguridad relacionadas disponibles para Adobe Commerce:

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f