Introduction :
Dans le domaine de la cybersécurité en pleine mutation, une nouvelle menace sérieuse s’attaque aux boutiques Adobe Commerce. Appelée « CosmicSting », cette attaque sophistiquée présente un danger considérable et pourrait toucher jusqu’à 75 % des boutiques Adobe Commerce. CosmicSting tire parti d’une faille critique dans les plateformes Adobe Commerce et Magento, permettant aux cybercriminels de lire des données sensibles comme les mots de passe et d’injecter du code malveillant pour compromettre la sécurité des données des clients. Ce blog vous propose de découvrir en détail le fonctionnement de CosmicSting ainsi que les actions à mettre en place pour protéger efficacement votre commerce.
CosmicSting (CVE-2024-34102) : Une cybermenace exploitant les failles critiques d’Adobe Commerce et Magento.
CVE-2024-34102 est une faille de sécurité sévère résultant d’une mauvaise gestion de la désérialisation imbriquée dans Adobe Commerce et Magento. Cette vulnérabilité permet aux attaquants d’exploiter les entités externes XML (XXE) pendant le processus de désérialisation, ce qui peut potentiellement conduire à l’exécution de code à distance. En résumé, les attaquants peuvent créer des charges JSON malveillantes qui, lorsqu’elles sont désérialisées par l’application, instancient des objets avec des propriétés ou des comportements inattendus, entraînant divers risques de sécurité.
L’exploitation de cette vulnérabilité permet aux attaquants d’obtenir un accès administratif non autorisé aux API REST, GraphQL ou SOAP, ce qui peut conduire à un vol de données, des perturbations de service et une compromission complète des systèmes affectés. Cette vulnérabilité pose un risque significatif en raison de sa capacité à exfiltrer des fichiers sensibles, tels que app/etc/env.php, contenant des clés cryptographiques utilisées pour l’authentification. Les attaquants peuvent exploiter cette faille pour forger des jetons administratifs et manipuler les API de Magento en tant qu’utilisateurs privilégiés.
De plus, la CVE-2024-34102 peut être associée à d’autres vulnérabilités, telles que l’exploitation des chaînes de filtres PHP (CVE-2024-2961), entraînant l’exécution de code à distance (RCE). Les implications plus larges des vulnérabilités d’entité externe XML (XXE) permettent aux attaquants de récupérer et de manipuler des données provenant de sources externes, exacerbant ainsi l’impact potentiel sur les systèmes compromis.
Impact
L’impact de la CVE-2024-34102 (CosmicSting) sur Adobe Commerce et Magento est sévère, affectant plus de 140 000 instances de Magento à l’échelle mondiale fin 2023. De plus, selon Sansec, la vulnérabilité pourrait toucher environ 75 % des boutiques Adobe Commerce.
Versions affectées
Plateformes :
Toutes les plateformes sont affectées pour Adobe Commerce et Magento Open Source.
Installation manuelle du plugin Webhooks pour Adobe Commerce.
Versions :
Adobe Commerce : versions antérieures à : 2.4.7 ; 2.4.6-p5 ; 2.4.5-p7 ; 2.4.4-p8 ; 2.4.3-ext-7 ; 2.4.2-ext-7
Magento Open Source : versions antérieures à : 2.4.7 ; 2.4.6-p5 ; 2.4.5-p7 ; 2.4.4-p8
- Plugin Webhooks d’Adobe Commerce : versions de 1.2.0 à 1.4.0
Chronologie
Décembre 2023
20 décembre 2023 : Le rapport de vulnérabilité est soumis à HackerOne par Sergey Temnikov.
Janvier 2024
8 janvier 2024 : HackerOne soumet le rapport à Adobe.
Juin 2024
11 juin : Avis d’Adobe concernant Adobe Commerce/Magento au sujet d’une vulnérabilité sévère d’injection d’entité XML pré-authentification (CVE-2024-34102), évaluée par Adobe avec un score CVSS de 9.8. La CVE-2024-34102 est donc publiée.
18 juin : Sansec note que 75 % des magasins n’ont toujours pas appliqué de correctifs et met en garde contre une exploitation massive de CosmicSting.
23 juin : Sergey Temnikov (spacewasp), le découvreur du problème, alerte sur la gravité de CosmicSting. Il souligne que des tiers peuvent obtenir un accès administrateur à l’API sans avoir besoin d’une version Linux vulnérable (liée au problème iconv). Il recommande un correctif d’urgence amélioré.
23 juin : Sansec découvre les premières attaques CosmicSting en cours (provenant de l’adresse IP 185.175.225.116).
26 juin : Une analyse approfondie est publiée par AssetNote.
26 juin : AssetNote publie des détails sur les attaques et les premiers kits d’exploitation apparaissent sur GitHub.
26 juin : Adobe augmente la note de sévérité de 3 à 2.
27 juin : Adobe publie un correctif autonome officiel pour CosmicSting qui peut être appliqué aux installations sans nécessiter une mise à niveau complète.
27 juin : Hypernode rapporte avoir observé les premières instances de scans et d’abus effectif de CosmicSting dans la nature. Ils incitent toutes les parties concernées à patcher immédiatement leurs systèmes.
Juillet 2024
8 juillet : Adobe augmente la note de sévérité de 2 à 1 (critique).
12 juillet : Sansec observe des hacks massifs de magasins Adobe Commerce de haut profil. Des marques connues figurent parmi les victimes.
Août 2024
21 août : Adobe publie le correctif AC-12485 pour invalider les anciennes clés de cryptage. Cela est vital, car sinon, les attaquants continueront à modifier vos blocs CMS.
27 août : Les attaquants combinent CosmicSting avec le bug CNEXT, leur permettant d’exécuter du code sur votre serveur (également connu sous le nom d’exécution de code à distance). Il s’agit d’une escalade sérieuse, car les attaquants peuvent désormais installer des portes dérobées pour dissimuler leur présence et rester persistants sur vos serveurs.
Septembre 2024
4 septembre : Le magasin Cisco est piraté à l’aide de l’attaque CosmicSting.
Octobre 2024
14 octobre : Le groupe Peschanki compromet plus de 2000 magasins en quelques heures, lors du plus grand piratage automatisé à ce jour.
21 octobre : Une nouvelle campagne de grande envergure est lancée par le groupe Laski, infectant plus de 1200 magasins.
Mesures Critiques pour Sécuriser votre Installation Adobe Commerce
Pour protéger votre système contre les attaques potentielles, suivez ces étapes essentielles :
Protéger votre Clé de Chiffrement
Mise à jour : Installez la dernière version d’Adobe Commerce pour empêcher les attaquants de voler votre clé cryptographique (clé de chiffrement).
Rotation de Clé : Considérez que votre clé actuelle a déjà été compromise. Générez une nouvelle clé et invalidez l’ancienne pour empêcher tout usage abusif.
Recommandation : Mettre à jour vers la dernière version d’Adobe Commerce est la solution la plus efficace. Cependant, notez que cette mise à jour inclut des changements fonctionnels, comme l’application stricte d’une politique de sécurité de contenu (CSP), ce qui pourrait affecter vos processus de commande.
Solution Alternative : Patch Isolé
Si la mise à jour n’est pas possible, appliquez le patch isolé fourni par Adobe pour réduire les vulnérabilités.
Rotation de la Clé après la Mise à jour
Après la mise à jour, effectuez une rotation de vos clés de chiffrement comme indiqué par Adobe. Notez que les données chiffrées avec l’ancienne clé ne sont pas automatiquement rechiffrées avec la nouvelle. Pour automatiser ce processus, utilisez le module de rotation de clé fourni par Luke Rodgers chez GENE Commerce — fortement recommandé.
Consultez également votre documentation sur la rotation des clés pour des instructions spécifiques sur la manière de mettre en œuvre cette rotation dans votre système actuel. Cette étape est cruciale pour assurer la sécurité et minimiser les risques liés à une clé compromise.
Solution d'Urgence (à Court Terme)
Si des actions immédiates sont nécessaires, vous pouvez temporairement bloquer l’accès à l’API CMS Block :
Bloquer les Requêtes à l’API CMS Block
Ajoutez le code suivant en haut de app/bootstrap.php pour empêcher l’accès à l’API :
if (preg_match(‘/\/rest\/.*\/cmsBlock/m’, $_SERVER[‘REQUEST_URI’])) { |
Attention : Cette mesure est provisoire et ne garantit pas une sécurité totale pour votre système. Les attaquants peuvent toujours :
Accéder à d’autres fichiers sur votre serveur, et ainsi continuer d’obtenir vos nouvelles clés de chiffrement.
Exploiter d’autres points de terminaison REST pour extraire des données clients sensibles (par exemple, via l’endpoint des commandes).
Effectuer une exécution de code à distance en combinant cette vulnérabilité avec d’autres failles.