Résolution des problèmes de rotation de la clé de chiffrement : CVE-2024-34102

Cet article est destiné à aider les commerçants à résoudre les problèmes de rotation des clés de chiffrement après avoir 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 rencontrez des problèmes lors de la rotation de vos clés de chiffrement, nous disposons d’un correctif isolé pour vous aider à 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 vous protéger contre CVE-2024-34102, ainsi que les autres solutions de dépannage présentées ci-dessous, vous pouvez également utiliser cet organigramme :

Application du correctif isolé pour exécuter la nouvelle commande

Décompressez le fichier et consultez Comment appliquer un correctif de compositeur fourni par Adobe dans notre base de connaissances d’assistance 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 documentationdécrivent comment modifier cette clé dans ce fichier à l’aide de l’interface d’administration.

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 d’administration.

Cependant, le moyen le plus simple et le plus sûr de gérer la clé de chiffrement est d’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.

Description description

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

Résolution resolution

Correctif isolé pour le dépannage des détails de rotation de la clé de chiffrement

Utilisez les correctifs ci-joints, en fonction de votre version d’Adobe Commerce/Magento Open Source :

Pour les versions 2.4.7 et 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-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 avec la nouvelle commande de l’interface de ligne de commande.

Remarque : cette nouvelle commande d’interface de ligne de commande déclenche un nettoyage du cache lors de son exécution.

  1. Cette nouvelle commande doit être exécutée dans l’environnement contenant le fichier app/etc/env.php correspondant à la clé à mettre à jour.
  2. Vérifiez que la nouvelle commande existe : bin/magento list | grep encryption:key:change
    • La sortie suivante devrait s’afficher :
      • encryption:key:change Change the encryption key inside the env.php file.
  3. Modifiez la clé de chiffrement : bin/magento encryption:key:change
  4. Si vous avez exécuté cette commande sur votre système d’exploitation, aucune autre action ne doit être requise. Si vous avez exécuté cette opération sur un système de développement, vous devez intégrer cette modification à 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 permettent d’ajouter une nouvelle clé de chiffrement tout en conservant vos données chiffrées existantes, même si vous utilisez actuellement le app/etc/env.php par défaut. Cette section s’applique à Adobe Commerce sur 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 peuvent se trouver à plusieurs emplacements possibles, mais il est probable qu’elles se trouvent dans la variable CRYPT_KEY, comme décrit dans la documentation.
  • Si vous n’utilisez pas de variables, la clé de chiffrement sera en app/etc/env.php dans la clé de données crypt/key.

Dans les deux cas, il peut s’agir d’une valeur multiligne et contenir plusieurs lignes de données aléatoires.

Générer une nouvelle valeur pour les versions 2.4.7x

Les clés de chiffrement sont 32 octets de données aléatoires qui sont codés en base64 et précédés du préfixe base64. Pour générer une nouvelle clé :

  1. En utilisant l’outil de votre choix, générez 32 octets aléatoires de données codées en base64. Par exemple, à l’aide de l’interface de ligne de commande OpenSSL, vous pouvez exécuter openssl rand -base64 32, mais tout outil de génération aléatoire cryptographique digne de confiance peut être utilisé.

  2. Ajoutez le préfixe base64 à cette valeur. Par exemple, si la sortie de la commande openssl ABC123, la valeur devient : base64ABC123

  3. 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
    

Les clés de chiffrement des versions 2.4.6x et antérieures sont constituées de 16 octets de données aléatoires au format hexadécimal. Pour générer une nouvelle clé :

  1. À l’aide de l’outil de votre choix, générez 16 octets de données aléatoires. Par exemple, à l’aide de l’interface de ligne de commande OpenSSL, vous pouvez exécuter openssl rand -hex 16, mais tout outil de génération aléatoire cryptographique digne de confiance peut être utilisé.

  2. 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 devient :

    abc123

    456def

Ajouter une nouvelle variable d’environnement

Utilisez la console Cloud ou l’interface de ligne de commande magento-cloud pour définir la env:MAGENTO_DC_CRYPT__KEY variable d’environnement sur cette nouvelle valeur.

Remarque : Notez que si vous choisissez de marquer la variable comme sensible, vous pouvez enregistrer une sauvegarde externe de cette valeur, car elle sera masquée de toutes les interfaces et uniquement visible par l’application.

Lors de l’enregistrement de la variable, un redéploiement est automatiquement déclenché, ce qui entraîne l’application de la valeur.

Mises à jour de sécurité

Mises à jour de sécurité associées disponibles pour Adobe Commerce :

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