e-commerce-pixabay.jpg

Le CMS open source PrestaShop est mis en difficulté par une vulnérabilité 0-day exploitée par les hackers, qui volent les données bancaires des clients.

PrestaShop, l'éditeur open source qui permet à chacun de créer sa boutique en ligne, voit des attaquants informatiques exploiter une faille 0-day (zero day), c'est-à-dire une vulnérabilité de sécurité détectée et exploitée avant même que les développeurs ne puissent s'en apercevoir, dans le but de dérober les informations de paiement saisies par les clients qui transitent par le CMS.

PrestaShop en dit plus sur les versions potentiellement vulnérables

Les pirates ont profité de la vulnérabilité pour injecter un code d'écumeur malveillant. Un écumeur est, en cyber, un code injecté dans différentes plateformes commerciales, comme PrestaShop, pour voler des informations, des données de paiement.

« Les attaquants ont trouvé un moyen d'utiliser une vulnérabilité de sécurité pour effectuer l'exécution de code arbitraire sur les serveurs exécutant les sites web PrestaShop », explique l'équipe de l'entreprise aux 300 000 marchands dans un billet de blog.

PrestaShop n'est pas certain, de son côté, que la chaîne de vulnérabilités découverte soit le seul moyen pour les pirates d'effectuer leur attaque. « À notre connaissance, ce problème semble concerner les boutiques basées sur les versions 1.6.0.10 ou supérieures, sujettes à des vulnérabilités d'injection SQL », ajoute l'entreprise. Cela confirme donc que les versions 1.7.8.2 et supérieures ne seraient pas vulnérables, restons au conditionnel tout de même.

La boutique fait face à une vulnérabilité d'injection SQL (Structured Query Language), une attaque répandue qui consiste en une demande envoyée à une base de données pour que le hacker injecte son propre code afin d'en détourner la sécurité, et d'accéder aux données sensibles protégées. Généralement, les sites qui ne mettent pas en oeuvre des mesures de nettoyage des entrées suffisantes sont plus exposés à ce type d'attaque.

Un faux formulaire de paiement, pour récupérer les données bancaires des clients, qui n'y voient que du feu

Dans le cas précis de PrestaShop, les attaquants semblent avoir soumis une requête POST (dont les paramètres ne sont pas visibles par les utilisateurs) au point de terminaison vulnérable à l'injection SQL. La méthode POST est utilisée par exemple pour remplir un formulaire ou télécharger une photo. Elle soumet des données ou fichiers au serveur.

Une petite seconde après, le pirate soumet une requête GET (utilisée pour les paramètres d'un site web, comme le tri, la recherche d'utilisateurs, les filtres), cette fois visible pour l'utilisateur dans le champ d'adresse. Le hacker soumet cette requête à la page d'accueil, sans paramètres. « Cela se traduit par la création d'un fichier PHP nommé blm.php, à la racine du répertoire de la boutique ».

L'attaquant soumet ensuite une autre requête GET au fichier qui vient d'être créé, ce qui lui permet alors d'exécuter ses instructions arbitraires. Et une fois que les pirates ont pris le contrôle d'une boutique PrestaShop, ils n'ont plus qu'à injecter un faux formulaire de paiement sur la page dédiée. Les clients, eux, n'y voient que du feu et entrent alors leurs données bancaires sur le faux formulaire. Les pirates récupèrent ainsi les données.

PrestaShop encourage tous ses clients à vérifier que les boutiques et modules ont bien été mis à jour avec la dernière version (donc une version 1.7.8.2 et supérieure).