CVE-2019-5418 est une vulnérabilité d’exposition de contenu de fichier découverte dans le composant Action View de Ruby on Rails en mars 2019. Cette vulnérabilité affecte les versions d’Action View antérieures à 5.2.2.1, 5.1.6.2, 5.0.7.2, 4.2.11.1 et toutes les versions de la série v3.
| Produit | Ruby on Rails, Ruby-on-Rails |
| Date | 2025-07-09 07:36:20 |
| Informations |
|
Résumé technique
Détails : La vulnérabilité exploite une faille de traversée de chemin (path traversal) dans le processus de rendu d’Action View, en particulier dans la méthode find_file située dans template_renderer.rb. Lorsque la méthode render traite des vues en dehors du périmètre de l’application, elle utilise la méthode find_templates de PathResolver pour résoudre le chemin. Cette méthode accepte un modèle à résoudre pour localiser le chemin ; la vulnérabilité provient de la possibilité de manipuler et d’injecter une charge utile utilisée pour construire ce modèle dans la méthode build_query : Par exemple, le modèle : template.:variants et la variable variants telle que [‘mobile’, ‘tablet’, ‘desktop’] produira : template.{mobile,tablet,desktop} La variable variants peut être manipulée via l’en-tête Accept : Accept: ../../../../../../../../../etc/passwd{{
Attaque non authentifiée : aucune authentification préalable n’est requise.
Cette faiblesse de conception dans le mécanisme de résolution des modèles permet aux attaquants de lire des fichiers système sensibles en manipulant les en-têtes Accept pour déclencher le chemin de code vulnérable, contournant ainsi les contrôles d’accès aux fichiers au niveau de l’application via le système de rendu des modèles.
Recommandations
- Appliquez le correctif immédiatement : mettez à jour vers une version de Ruby on Rails 5.2.2.1 ou supérieure.
- Pare-feu d’application web (WAF) : implémentez des règles WAF pour filtrer les en-têtes Accept malveillants.
- Appliquez les permissions : limitez les permissions du système de fichiers pour réduire l’exposition des fichiers sensibles.
[Callforaction-THREAT-Footer]
Leave a Reply