Le 26 mars 2019, les développeurs de la plateforme d’e-commerce Magento ont annoncé la publication d’une nouvelle version corrigeant 37 vulnérabilités. Ces vulnérabilités permettent notamment à un attaquant distant de prendre le contrôle du serveur sous-jacent via de l’injection de code.
Mise à jour 29/03/2019: Les chercheurs d’Ambionics Security ont publié un article détaillant la vulnérabilité PRODSECBUG-2191 ainsi qu’un code d’exploitation de la vulnérabilité.
Les chercheurs d’Ambionics Security avaient annoncé le 25 mars la publication d’un correctif le lendemain corrigeant des vulnérabilités critiques. Ils évoquaient alors une injection SQL préauthentification et une vulnérabilité permettant l’exécution de code à distance.
Est-ce que Magento est sujet à un « Drupalgeddon » ? Faut-il s’attendre à une chaîne d’exploitation ? Nous vous proposons d’y répondre en 7 questions pour mieux comprendre cette faille, et son exploitation.
1. Qu’est-ce que Magento ?
Magento est une plateforme d’e-commerce sous licence libre créée en 2008 et développée en PHP. Celle-ci permet de créer facilement un site web d’e-commerce grâce à un gestionnaire de thème, un panneau d’administration, ainsi que de nombreuses fonctionnalités.
Il existe 3 versions de Magento :
- Magento Community Edition qui est la version libre de Magento ;
- Magento Commerce Edition qui apporte une offre de support et des fonctionnalités supplémentaires (option fidélité…) ;
- Magento B2B, une offre spécifique pour les entreprises souhaitant faire du B2B.
Magento est le 3ème CMS le plus populaire (1,5% de parts de marché en 2018), et l’un des plus utilisés par les entreprises pour la réalisation de leur site de vente en ligne.
Source : Buildwith
2. Quelles sont les vulnérabilités critiques et quels sont leurs impacts ?
Parmi les 37 vulnérabilités, 4 ont retenu l’attention du CERT-XMCO.
- Découverte par Charles Fol d’Ambionics, la vulnérabilité référencée PRODSECBUG-2198 permet de réaliser une injection SQL sans authentification au préalable.
- Les 3 vulnérabilités suivantes possèdent des conditions similaires d’exploitation et ciblent toutes trois a minima les modèles de mail. Elles pourraient permettre à un attaquant d’injecter du code SQL voire exécuter du code à distance. Nous les avons compilées dans un tableau récapitulatif.
Tableau récapitulatif des vulnérabilités PRODSECBUG-2277, PRODSECBUG-2192 et PRODSECBUG-2256
Ces vulnérabilités ont respectivement été découvertes par Daniel Le Gall, Daniiel Dmitri et Simon Scannell.
La vulnérabilité PRODSECBUG-2192 possède le vecteur d’exploitation plus large. Même si la vulnérabilité PRODSECBUG-2256 semble utiliser un autre vecteur d’exploitation, cette dernière nécessite que l’utilisateur possède des droits de configuration de modèle de mail pour être exploitée.
La séparation de ces vulnérabilités laisse supposer la présence de 3 points d’entrée vulnérables dans le module de modèle de courriel.
- Enfin la vulnérabilité PRODSECBUG-2236, découverte par Pete O’Callaghan, permet à un utilisateur authentifié de réaliser une attaque par injection SQL ou XSS stockée en modifiant le champ attribute_code dans la section Catalogue.
3. Les vulnérabilités sont-elles facilement exploitables ? Des codes d’exploitation sont-ils disponibles ?
Mise à jour 29/03/2019: Les chercheurs d’Ambionics Security ont publié un code d’exploitation. Ce code permet de récupérer une session administrateur à travers une injection SQL. Ce code pourrait être adapté à d’autres opérations (récupération d’informations, altération des données…). ll a été détaillé par les chercheurs à l’adresse suivante : https://www.ambionics.io/blog/magento-sqli.
À l’heure actuelle, aucun code d’exploitation n’est disponible publiquement. Néanmoins, cette plateforme étant fortement populaire, il est possible que des codes d’exploitation soient rendus publics dans les prochains jours/semaines.
De leur côté, les chercheurs d’Ambionics ont déclaré avoir déjà développé une preuve de concept. Cependant, d’après eux, la vulnérabilité permettant une exécution de code à distance n’aurait pas été corrigée, ces derniers ont donc choisi de ne pas publier leur preuve de concept à l’instant de l’écriture de cet article. Ce dernier sera mis à jour en lien avec l’évolution de la situation.
Tweet du compte des chercheurs d’Ambionics Security
4. Suis-je affecté par ces vulnérabilités ?
Vous êtes affecté par ces vulnérabilités si votre application Magento (Community, Enterprise ou B2B) est sous l’une des versions suivantes :
- Magento 2.3.x < 2.3.1 ;
- Magento 2.2.x < 2.2.8 ;
- Magento 2.1.x < 2.1.17.
5. Des attaques ont-elles été perpétrées ?
Mise à jour 29/03/2019: Un code d’exploitation étant désormais rendu public, il est probable que des tentatives d’attaques soient perpétrées dans les jours à venir.
Actuellement, aucune attaque exploitant ces vulnérabilités n’a été identifiée publiquement.
6. Comment se protéger contre l’exploitation de cette faille ?
Afin de se protéger des vulnérabilités, le CERT-XMCO recommande la mise à jour de Magento vers les versions suivantes (ou ultérieures) :
- Magento 2.3.1 ;
- Magento 2.2.8 ;
- Magento 2.1.17.
Il vous est possible de réaliser cette mise à jour au travers de l’utilitaire de mise à jour ou via le correctif disponible à l’adresse suivante :
7. Dois-je appliquer les correctifs en urgence ?
Mise à jour 29/03/2019: Avec la publication d’un code d’exploitation, l’application des correctifs devient d’autant plus urgente. A partir de ce code, il est fort possible que des attaques massives soient perpétrées dans les jours à venir.
Si votre version est affectée, oui. Ces vulnérabilités sont critiques, et pourraient impacter directement l’image de votre entreprise et l’intégrité du système d’information. De plus, leur exploitation ouvre potentiellement une porte sur votre système d’information.
Sources :