Les news, Magento — 06/07/2012 at 15:10

Faille Magento / ZEND XML RPC : DANGER

by

Attention,

Malgré l’annonce de Magento Inc ici, il reste de nombreux clients qui ne prennent pas les dispositions nécessaires… 

Les sites Magento n’appliquant pas de patch correctifs sont en danger RÉEL et IMMÉDIAT. Avec un simple requête HTTP, il est possible de liste les fichiers de votre serveur auquel le démon Httpd à accès. Nous détectons déjà des tentatives de hacking sur de nombreux sites clients. 

La faille ne vient pas directement de Magento mais du Zend Framework. Une fois n’est pas coutume, le framework contient une vulnérabilité critique permettant de lire les fichiers du disque avec une simple requête sur le service XML-RPC de Magento. La faille ne concerne d’ailleurs pas que Magento puisque les autres frameworks reposants sur Zend sont aussi touchés.

Mettez à jour vos Magento ou appliquez les correctifs nécessaires, la faille est passée sur Full disclosurce, c’est publique et une recherche google très simple (appelée un google Dork) permet de détecter les Magento pour automatiser les attaques (en recherchant allinurl:skin/frontend).

curl -X POST -d '<?xml version="1.0"?><!DOCTYPE foo [ <!ELEMENT methodName ANY > 
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]><methodCall><methodName>&xxe;
</methodName></methodCall>' http://www.unsitemagento.com/api/xmlrpc

 

Zend_XmlRpc est vulnérable à l’attaque appelée “XXE injection” (XML eXternal Entity).

La classe SimpleXMLElement est utilisée de manière non vérifiée et permet de lire des entités externe en ajoutant un DOCTYPE précis dans la requête, comme montré ci-dessus. Les applications reponsants sur le Zend Framework peuvent ainsi être forcée à lire et afficher des fichiers systèmes et/ou ouvrir des connexion TCP.

Magento recommande de mettre à jour les versions utilisées (voir ici) ou, à minima pour faire vite, d’appliquer la méthode suivante (si votre site n’utilise pas de méthodes XML-RPC) :

  1. Sur le serveur, allez dans votre document root
  2. cd /app/code/core/Mage/Api/controllers
  3. ouvrez le fichier XmlrpcController.php avec un éditeur (vi, vim, emacs, nano, etc.)
  4. Commentez ou effacez le corps de la méhtode “public indexAction()”
  5. Sauvegardez

Le Lab sécurité de NBS System vous propose une méthode simple : ajouter une Rewrite rule au .htaccess se trouvant dans la racine de votre site :

RewriteCond %{REQUEST_URI} .*api/xmlrpc.* [NC] RewriteRule (.*) - [F]

One Comment

  1. Pingback: Ecommerce Squad : le Ecommerce, coté techniqueSécurité Ecommerce : Les bons réflexes

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>