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 de 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, con el fin de 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:
{modal="regular"}
Cómo aplicar el parche aislado para ejecutar el nuevo comando
Descomprima el archivo y vea Cómo aplicar un parche del compositor proporcionado por el Adobe en nuestra base de conocimiento de asistencia para obtener instrucciones.
Agregar 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 Admin.
Los pasos y la revisión aislada proporcionados en esta sección le permiten cambiar fácilmente el valor de ese archivo y le permitirán solucionar los problemas que pueda estar experimentando a través de la interfaz Admin.
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.
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
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 la revisión aislada, cambie la clave de cifrado activa con el nuevo comando CLI.
-
Este nuevo comando debe ejecutarse en el entorno que contiene el archivo
app/etc/env.php
de la clave que desea actualizar. -
Confirme que el nuevo comando existe:
code language-none bin/magento list | grep encryption:key:change
Debería ver el siguiente resultado:
code language-none encryption:key:change Change the encryption key inside the env.php file.
-
Cambie la clave de cifrado:
code language-none bin/magento encryption:key:change
-
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 datoscrypt/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:
-
Con la herramienta que elija, genere 32 bytes aleatorios de datos codificados con base64. Por ejemplo, con OpenSSL CLI, puede ejecutar
openssl rand -base64 32
, pero se puede utilizar cualquier herramienta de generación criptográficamente aleatoria confiable. -
Agregue a ese valor el prefijo
base64
. Por ejemplo, si el comandoopenssl
genera la salida ABC123, el valor se convertiría en: base64ABC123 -
Anexe el valor generado al valor existente que ha recopilado anteriormente. Por ejemplo, si el valor existente es base64HelloWorld, el nuevo valor se convertiría en:
code language-none base64HelloWorld base64ABC123
Generar un nuevo valor para 2.4.6x y versiones anteriores
Las claves de cifrado de 2.4.6x y versiones anteriores son 16 bytes de datos aleatorios en un formato codificado en hex.
Para generar una clave nueva:
-
Con la herramienta que elija, genere 16 bytes aleatorios de datos. Por ejemplo, con OpenSSL CLI, puede ejecutar
openssl rand -hex 16
, pero se puede utilizar cualquier herramienta de generación criptográficamente aleatoria confiable. -
Anexe el valor generado al valor existente que ha recopilado anteriormente. Por ejemplo, si el valor existente es abc123 y el valor aleatorio del paso anterior es 456def, el nuevo valor se convertiría en:
code language-none abc123 456def
Agregar una nueva variable de entorno
Use Cloud Console o magento-cloud CLI para establecer la env:MAGENTO_DC_CRYPT__KEY
variable de entorno en este nuevo valor.
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: