L’équipe de Symfony dévoile cette semaine une mise à jour de sécurité pour Symfony, la version 2.0.11. Cette mise à jour permet de corriger une faille trouvée dans le composant Serializer. Il est évidemment conseillé de mettre à jour vos projets Symfony2 au plus vite.
Vous pouvez voir l’article publié sur l’exploit à l’adresse http://www.senseofsecurity.com.au/research/vulnerability-disclosure-policy
Pour résumer, le XMLEncoder de Symfony2 ne désactive pas le chargement d’entités externes au moment du parsing XML. Dans Symfony2, les classes XML peuvent être utilisées pour charger des objets dans l’API Symfony2. En utilisant des entités externes, il est donc possible d’inclure des fichiers tiers venant du système de fichiers.
Un exemple simple pour démontrer l’exploit :
Dans cet exemple, $x contiendra le contenu du fichier /etc/passwd encodé en base64.
Cette faille est corrigée dans la version 2.0.11 de Symfony, nous vous conseillons donc soit d’appliquer le patch de sécurité, soit de mettre à jour votre version de Symfony.
Une fois la mise à jour/patch appliqué, il vous suffira d’exécuter la commande suivante (permet aussi de vider le cache):