Résolution des problèmes de rotation de la clé de chiffrement : CVE-2024-34102
Cet article est destiné à aider les marchands à résoudre les problèmes de rotation de clé de chiffrement après qu’ils ont déjà suivi les étapes décrites dans cet article sur CVE-2024-34102.
Si vous avez déjà suivi les étapes de l’article ci-dessus et que vous rencontrez des problèmes lors de la rotation de vos clés de chiffrement, nous disposons d’un correctif isolé pour résoudre les problèmes potentiels.
Pour illustrer les étapes qui ont été précédemment communiquées et résumées ci-dessus, afin de protéger contre CVE-2024-34102, ainsi que la résolution de problèmes supplémentaire trouvée ci-dessous, vous pouvez également utiliser ce graphique de flux :
{modal="regular"}
Comment appliquer le patch isolé pour exécuter la nouvelle commande
Décompressez le fichier et reportez-vous à la section Comment appliquer un correctif de compositeur fourni par Adobe dans notre base de connaissances de support pour obtenir des instructions.
Ajout d’une nouvelle clé de chiffrement sans utiliser de variables d’environnement
Le comportement par défaut de l’application consiste à stocker la clé de chiffrement dans le fichier app/etc/env.php
.
Les étapes décrites dans la documentation décrivent comment modifier cette clé dans ce fichier à l’aide de l’interface Admin.
Les étapes et le correctif isolé fournis dans cette section vous permettent de modifier facilement la valeur de ce fichier et de contourner les problèmes que vous pouvez rencontrer via l’interface Admin.
Cependant, la méthode la plus simple et la plus sûre pour gérer la clé de chiffrement consiste à utiliser des variables d’environnement. Si vous utilisez déjà des variables d’environnement ou si vous souhaitez les utiliser pour gérer cette clé à la place, une section distincte décrit ces étapes.
Produits et versions concernés
Adobe Commerce on Cloud, Adobe Commerce on-premise et Magento Open Source :
- 2.4.7-p1 et versions antérieures
- 2.4.6-p6 et versions antérieures
- 2.4.5-p8 et versions antérieures
- 2.4.4-p9 et versions antérieures
Correctif isolé pour le dépannage des détails de rotation de la clé de chiffrement
Utilisez les correctifs ci-joint suivants, en fonction de votre version d’Adobe Commerce/de Magento Open Source :
Pour la version 2.4.7, 2.4.7-p1 :
Pour les versions 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-p5, 2.4.6-p6 :
Pour les versions 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 :
Pour les versions 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 :
Après avoir installé le correctif isolé, modifiez la clé de chiffrement active à l’aide de la nouvelle commande CLI.
-
Cette nouvelle commande doit être exécutée sur l’environnement qui contient votre fichier
app/etc/env.php
pour la clé que vous souhaitez mettre à jour. -
Vérifiez que la nouvelle commande existe :
code language-none bin/magento list | grep encryption:key:change
Vous devriez voir la sortie suivante :
code language-none encryption:key:change Change the encryption key inside the env.php file.
-
Modifiez la clé de chiffrement :
code language-none bin/magento encryption:key:change
-
Si vous avez exécuté cette commande sur votre système de production, aucune autre action ne doit être requise.
Si vous l’avez exécuté sur un système de développement, vous devez intégrer cette modification dans votre système de production, car vous déployez normalement des paramètres de configuration sensibles.
Mettez à jour la clé de chiffrement à l’aide de variables environnementales au lieu d’utiliser le correctif isolé.
Au lieu de la section ci-dessus, ces étapes vous permettront d’ajouter une nouvelle clé de chiffrement tout en préservant vos données cryptées existantes, même si vous utilisez actuellement le app/etc/env.php
par défaut.
Cette section s’applique à Adobe Commerce on Cloud et Cloud Starter, mais s’applique également à Adobe Commerce sur site, bien que les étapes et emplacements exacts des variables dépendent de votre infrastructure.
Collecter la valeur actuelle
- Si vous gérez déjà vos clés avec des variables d’environnement, elles se trouvent peut-être à plusieurs emplacements possibles, mais probablement dans la variable
CRYPT_KEY
comme décrit dans la documentation. - Si vous n’utilisez pas de variables, la clé de chiffrement se trouve dans
app/etc/env.php
dans la clé de donnéescrypt/key
.
Dans les deux cas, il peut s’agir d’une valeur multiligne qui contient plusieurs lignes aléatoires de données.
Générer une nouvelle valeur pour les versions 2.4.7x
Les clés de chiffrement sont constituées de 32 octets de données aléatoires, codées avec base64 et affectées du préfixe base64
.
Pour générer une nouvelle clé :
-
À l’aide de l’outil de votre choix, générez 32 octets aléatoires de données codées avec base64. Par exemple, en utilisant le OpenSSL CLI, vous pouvez exécuter
openssl rand -base64 32
, mais tout outil de génération aléatoire sur le plan cryptographique fiable peut être utilisé. -
Ajoutez un préfixe à cette valeur
base64
. Par exemple, si la commandeopenssl
sortait ABC123, la valeur deviendrait : base64ABC123 -
Ajoutez la valeur générée à la valeur existante que vous avez collectée ci-dessus. Par exemple, si votre valeur existante est base64HelloWorld, votre nouvelle valeur deviendra :
code language-none base64HelloWorld base64ABC123
Générer une nouvelle valeur pour les versions 2.4.6x et antérieures
Les clés de chiffrement des versions 2.4.6x et antérieures sont de 16 octets de données aléatoires dans un format codé en hex.
Pour générer une nouvelle clé :
-
À l’aide de l’outil de votre choix, générez 16 octets de données aléatoires. Par exemple, en utilisant le OpenSSL CLI, vous pouvez exécuter
openssl rand -hex 16
, mais tout outil de génération aléatoire sur le plan cryptographique fiable peut être utilisé. -
Ajoutez la valeur générée à la valeur existante que vous avez collectée ci-dessus. Par exemple, si votre valeur existante est abc123 et que votre valeur aléatoire de l’étape précédente est 456def, votre nouvelle valeur deviendra :
code language-none abc123 456def
Ajouter une nouvelle variable d’environnement
Utilisez Cloud Console ou magento-cloud CLI pour définir la env:MAGENTO_DC_CRYPT__KEY
variable d'environnement sur cette nouvelle valeur.
Lors de l’enregistrement de la variable, un redéploiement est déclenché automatiquement, ce qui entraîne l’application de la valeur.
Mises à jour de sécurité
Mises à jour de sécurité connexes disponibles pour Adobe Commerce :