[SECURITE] 3 failles XSS dans Magento : patchez !

Imprimer Envoyer
Magento

3 failles de sécurité de type XSS sous Magento

 

3 failles XSS découvertes dans Magento


Bonjour à tous !

Ne vous fiez pas à l'image : le Downloader de Magento n'est pas sponsorisé par Google ! L'insert du logo de Google, sans intervenir sur le code de la page d'accueil du Downloader, est possible grâce à une faille. Bon, ici ce n'est qu'un logo... Mais qui dit insertion possible d'image dit insertion possible de Javascript notamment, et c'est tout l'objet de ce billet.

Security Focus a révélé hier mardi 24 février 3 failles de sécurité de type XSS sous Magento.

Brièvement, les risques relatifs liés à l'exploitation de ces failles sont multiples : vol d'identifiant de session, récupération des identifiants de l'administrateur, tout cela en exploitant la technique qui m'a permis d'insérer le logo de Google sur la page du Downloader, comme vous pouvez le voir sur l'image ci-dessus...

Ces failles sont accessibles depuis 3 pages Magento :

  • 1) Le Downloader : [chemindeMagento]/downloader

Pour tester, rendez-vous à l'url suivante :

[chemindeMagento]/downloader?return=%22%3Cscript%3Ealert(xss)%3C/script%3E.

Et hop ! Une fenêtre d'alerte avec le contenu "xss" et une page "déformée".

  • 2) La page de login de l'administration : [chemindeMagento]/admin
Pour tester, entrez :

"><script>alert('xss')</script>

dans le champ "Nom d'utilisateur", mettez n'importe quoi en mot de passe, envoyez, au reload de la page vous verrez une fenêtre d'alerte avec le contenu "xss" et à nouveau une page "déformée".

  •  3) La page de renvoi du mot de passe perdu pour l'administateur : [chemindeMagento]/admin/admin/index/forgotpassword/

Même procédure que 2).

Correctifs


En attendant un correctif officiel, Fragento vous propose des patchs maison :

  • 1) Correctif pour le Downloader

Dans le fichier : downloader\Maged\Model\Session.php
A la ligne n° 58

Remplacez le code :


if (!empty($_GET['return'])) {
            $this->set('return_url', $_GET['return']);
        }



Par :

if (!empty($_GET['return'])) {
            $this->set('return_url', htmlentities($_GET['return']));
        }

 

  • 2) Correctif pour la page de login


A défaut de modifier le noyau - ce qui empêcherait toute mise à jour, modifiez le template de l'administration.

Dans le fichier : app\design\adminhtml\default\default\template\login.phtml
Ligne : 54

Remplacez le code :

value="<?php echo $username ?>"


par :

value="<?php echo htmlentities($username) ?>"

 

  • 3) Correctif pour la page de renvoi du mot de passe

 

A défaut de modifier le noyau - ce qui empêcherait toute mise à jour, modifiez le template de l'administration.

Dans le fichier : app\design\adminhtml\default\default\template\forgotpassword.phtml
Ligne : 57

Remplacez le code :

value="<?php echo $email?>"

par :

value="<?php echo htmlentities($email) ?>"

 

Remarques

 

  • Vous êtes fortement invités à diffuser le lien de cet article afin d'éviter des déconvenues aux utilisateurs de Magento ayant un site en production
  • Si vous copiez/collez les bouts de codes, assurez-vous que les guillemets sont conservés
  • D'une manière générale n'accédez jamais ni au Downloader ni à l'Administration via un lien fourni par une personne tierce, mais toujours par un accès direct, pour éviter tout risque de phising.
  • Ces correctifs n'affectent pas les fonctionnalités de Magento
  • Retrouvez cet article sur le forum ici
 

Sécurisation complémentaire ET la plus efficace au final

Moins simple à mettre en oeuvre, il existe cependant une sécurisation radicale qui limite l'accès à l'administration et au Downloader, par authentification Http.

Vous trouverez un "mode d'emploi" réalisé par Philippe ici.

 

Conclusion

D'autant plus quand il s'agit d'e-commerce où c'est un business qu'il faut protéger, la sécurité est un élément clé. La réactivité de la Communauté Francophone de Magento a permis la publication de ce patch sur le forum en moins de 24 heures. C'est parce que Magento est open-source, que la Communauté peut (et doit !) participer à l'évolution de la solution.

Nous comptons sur la réactivité de Varien pour publier une version patchée au plus vite, et nous vous encourageons à appliquer le patch proposé.

 

Sortie de Magento 1.2.1

Imprimer Envoyer
Magento

La version 1.2.1 de Magento est désormais disponible.

Vous trouverez comme d'habitude la release note et le diff file 1.2.0.3 - 1.2.1 sur le site officiel !

Comme toujours, il est fortement déconseillé de mettre à jour directement un site en production, veillez donc à ne pas oublier de faire une sauvegarde de votre base de données et de votre site avant d'effectuer la mise à jour. Vérifiez aussi que les permissions sur le serveur sont correctes avant d'utiliser Magento Connect.

 

Sortie de Magento 1.2.0.3

Imprimer Envoyer
Magento

La version 1.2.0.3 de Magento est sortie depuis vendredi, apportant quelques corrections de bugs mineurs concernant principalement Google Checkout et Google Optimizer.

Ainsi, si vous utilisez ces modules, il est vivement conseillé de passer à cette nouvelle version. Vous pouvez consulter la release note associée à cette version pour plus d'informations.Le diff file 1.2.0.2 - 1.2.0.3 est lui aussi disponible sur le site officiel.

Comme toujours, il est fortement déconseillé de mettre à jour directement un site en production, veillez donc à ne pas oublier de faire une sauvegarde de votre base de données et de votre site avant d'effectuer la mise à jour. Vérifiez aussi que les permissions sur le serveur sont correctes avant d'utiliser Magento Connect.

 

 

Sortie de Magento 1.2.0.2

Imprimer Envoyer
Magento
Sortie de Magento 1.2
 
Magento 1.2.0.2 est désormais téléchargeable, apportant tout comme la version 1.2.0.1 des corrections dites mineures mais bien utiles !
 
L'occasion de nous attarder sur les nouveautés de la version 1.2 :
  • Gestion des produits téléchargeable, les vendeurs de ebooks, templates et autres créations distribuées au format électronique y trouveront désormais leur compte !
  • Ajout de la barre des filtres de produits sur les pages de résultats de recherche, avec possibilité de choisir quels attributs sont filtrables sur les pages de recherche
  • Amélioration de la recherche sur le site qui repose désormais sur MySQL fulltext
  • Support des taxes fixées par produit (WEEE/DEEE)
  • Upgrade du framework Zend sous-jacent désormais en version 1.7.2
  • En beta : mise en cache de la navigation par filtres, attention, il est fortement recommandé de ne pas utiliser cette fonctionnalité en production !
 
Après le support de google optimizer, l'équipe de Varien nous rappelle qu'elle a encore bien plus d'un tour dans son sac ! Vivement Magento 1.3 ... ;-)
 
A noter : les diff files des releases sont désormais disponibles depuis la version 1.2 sur cette page.
 

Sortie de Magento 1.1.6

Imprimer Envoyer
Magento

2 jours après la sortie de la version 1.1.5 de Magento apportant de nombreuses corrections, c'est la version 1.1.6 de Magento qui est désormais disponible !

Cette version apporte elle aussi beaucoup de corrections, comme en témoigne la release consultable sur le site officiel .

Enfin, initiative très intéressante si vous avez déjà mis à jour votre plate-forme en version 1.1.5 et que vous ne souhaitez pas refaire une nouvelle migration, la liste des différences entre cette version et la 1.1.6 est disponible aussi !

Les exemples de données (sample data) pour la version 1.1.6 devraient incessamment sous peu.

Il est bien évidemment recommandé de ne pas faire la mise à jour en environnement de production.

> Voir l'article sur le site officiel

 
<< Début < Préc 1 2 3 4 5 6 7 8 9 10 Suivant > Fin >>

Page 5 de 10