CVE-2019-5418 : Vulnérabilité critique de lecture de fichiers dans Ruby on Rails

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.

ProduitRuby on Rails, Ruby-on-Rails
Date2025-07-09 07:36:20
Informations
  • Correctif disponible
  • Exploitation active

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

  1. Appliquez le correctif immédiatement : mettez à jour vers une version de Ruby on Rails 5.2.2.1 ou supérieure.
  2. Pare-feu d’application web (WAF) : implémentez des règles WAF pour filtrer les en-têtes Accept malveillants.
  3. 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

Your email address will not be published. Required fields are marked *