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.
- 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:
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.
- Debería ver el siguiente resultado:
- Cambiar la clave de cifrado:
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 la CLI de OpenSSL, 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 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 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:
-
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. -
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: