Symfony - CVE-2026-55878
Date de publication :
Il s'agit d'une vulnérabilité dans la commande ux:install, qui installe les fichiers d'un kit de recette en copiant les chemins listés dans une carte copy-files.
Symfony UX est un écosystème JavaScript pour le framework Symfony, incluant le paquet ux-toolkit qui fournit une commande d'installation de kits de composants front-end via un système de recettes.
La seule protection contre les chemins malveillants repose sur la fonction Path::isRelative(), qui retourne vrai pour des chemins tels que ../../../etc. La fonction Path::join() résout ensuite les segments .. sans contrôle, ce qui permet au chemin final de s'échapper du répertoire prévu. Un kit forgé ou compromis peut ainsi écrire un contenu contrôlé par l'attaquant vers des emplacements arbitraires sur la machine du développeur ou sur un runner CI, l'opération de copie créant les répertoires parents manquants et pouvant écraser silencieusement des fichiers existants. Le volet source de copy-files est également affecté, permettant la lecture de fichiers locaux hors du répertoire de la recette.
Elle permet l'exécution de code à distance en écrasant des fichiers sensibles tels que des contrôleurs, des hooks git ou un fichier .env.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire (à distance)
Exploitation
CWE-22 : Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Détails sur l'exploitation
• Vecteur d'attaque : Local
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Aucun
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Oui
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Non
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• symfony/ux-toolkit versions 2.32.0 jusqu'à 2.36.0
• symfony/ux-toolkit versions 3.0.0 jusqu'à 3.1.x
Solutions ou recommandations
• symfony/ux-toolkit versions 3.2.0 et supérieures