Une vulnérabilité non corrigée dans la plate-forme e-commerce Magento pourrait permettre à des pirates de télécharger et d'exécuter des codes malveillants sur les serveurs web hébergeant les boutiques en ligne. La faille, découverte par des chercheurs du consultant en sécurité DefenseCode, est localisée dans une fonction de récupération des images d'aperçu de vidéos hébergées sur Vimeo. Magento permet en effet d’ajouter de telles vidéos dans les listes de produits. Les chercheurs de DefenseCode ont constaté que si l'URL de l'image pointe vers un autre type de fichier, par exemple un script PHP, Magento téléchargera le fichier afin de le valider. Et si ce fichier n'est pas une image, la plateforme renverra une erreur « Type de fichier non autorisé », mais elle ne la supprimera pas du serveur.

Un attaquant qui parviendrait à exploiter la faille pourrait demander l’exécution de code à distance en incitant Magento à télécharger un fichier de configuration .htaccess. Ce fichier permettrait ensuite l'exécution de code PHP à l'intérieur du répertoire de téléchargement puis le téléchargement du fichier PHP malveillant lui-même. Une fois sur le serveur, le script PHP peut servir de backdoor et être consulté à distance à l’aide d’un navigateur Internet. Les attaquants pourraient l'utiliser par exemple pour naviguer dans les répertoires du serveur et voir le mot de passe de la base de données dans le fichier de configuration de Magento. Ce qui leur permettrait d’avoir accès à des informations clients stockées dans la base de données des boutiques en ligne, dont certaines peuvent être très sensibles.

 

La seule limitation c’est que cette vulnérabilité ne peut pas être exploitée directement. En effet, la fonction qui permet de lier l’aperçu vidéo nécessite une authentification. Cela signifie que les attaquants doivent avoir accès à un compte sur le site web ciblé, sauf que, dans le cas présent, les privilèges administrateur ne sont pas nécessaires et de simples privilèges utilisateur suffisent. De plus, l'obstacle de l’authentification peut être contourné facilement si le site web n'a pas activé l'option « Ajouter une clef secrète aux URL ». Cette option, qui permet d’empêcher les attaques dites Cross Site Request Forgery (CSRF) ou par Falsification de requête inter-sites, est activée par défaut.

La technique d'attaque Cross Site Request Forgery consiste à forcer le navigateur d'un utilisateur à effectuer une demande non autorisée sur un site Web quand il se rend sur un site différent. « L'attaque est facile à mettre en place puisqu’il suffit d’ajouter la ligne

 

Les chercheurs de DefenseCode affirment qu'ils ont signalé ces problèmes aux développeurs de Magento au mois de novembre, mais qu’ils n'ont reçu depuis aucune information concernant la livraison de correctifs. Depuis novembre, plusieurs versions de Magento Community Edition (CE) ont été publiées, la dernière version 2.1.6 datant de mardi dernier. Mais selon DefenseCode, toutes les versions de Magento CE sont encore vulnérables. C’est pour cette raison qu’ils ont décidé de communiquer sur la vulnérabilité. « Nous avons analysé très attentivement les éléments à l’origine de la faille qui nous a été signalée et nous n’avons identifié aucune attaque en cours exploitant la vulnérabilité », a déclaré Magento, la société qui supervise le développement de la plate-forme de commerce électronique, dans un communiqué envoyé par courrier électronique. « Nous cherchons constamment à améliorer nos processus de sécurité et ce problème sera résolu dans la prochaine mise à jour ».

« Nous conseillons fortement à tous les utilisateurs de Magento de vérifier que l’option « Ajouter une clef secrète aux URL », laquelle atténue le vecteur d'attaque CSRF, est bien activée », ont déclaré les chercheurs de DefenseCode. « Pour empêcher l'exécution de code à distance par téléchargement arbitraire de fichiers, le serveur doit être configuré pour interdire les fichiers .htaccess dans les répertoires affectés », ont-ils ajouté. Magento est utilisé par plus de 250 000 boutiques en ligne, ce qui en fait une cible particulièrement attractive pour les pirates informatiques. L’an dernier, les chercheurs ont découvert que des milliers de boutiques en ligne basées sur Magento avaient été compromises et infectées par un code malveillant qui effaçait les informations de carte de paiement.