CVE-2026-66066, la vulnérabilité critique de Ruby on Rails qui expose des secrets et des identifiants
La faille CVE-2026-66066 dans Ruby on Rails permet de lire des fichiers et exposer la clé SECRET_KEY_BASE. Risque d'exécution de code à distance.
Image d’illustration générée par IA
Les mainteneurs de Ruby on Rails ont publié des mises à jour de sécurité pour corriger une grave faille dans le composant Active Storage. Identifiée sous le nom CVE-2026-66066 et avec un score CVSS de 9,5, cette vulnérabilité permet à un attaquant non authentifié de lire des fichiers arbitraires depuis le serveur. Le principal risque est l’exposition de la clé SECRET_KEY_BASE et d’autres identifiants, avec la possibilité réelle d’exécuter du code à distance et d’effectuer des mouvements latéraux vers d’autres systèmes.
Active Storage ne désactivait pas les opérations « unfuzzed » de libvips
L’origine du problème réside dans l’interaction entre Active Storage et la bibliothèque libvips, utilisée pour traiter les images téléchargées par les utilisateurs. Au sein de libvips, certaines opérations sont classées comme unfuzzed, un terme indiquant leur dangerosité lorsqu’elles sont appliquées à des contenus non fiables. Dans de tels cas, ces opérations devraient être désactivées. Active Storage, cependant, ne le faisait pas.
Un fichier image spécialement conçu peut ainsi forcer la lecture de n’importe quel fichier accessible au processus applicatif : variables d’environnement, configurations et surtout la SECRET_KEY_BASE de Rails ainsi que les identifiants pour les bases de données, les API externes et les services cloud. Pour lancer l’attaque, il suffit qu’un utilisateur non authentifié puisse télécharger une image, une condition courante dans de très nombreuses applications web.
La version de libvips est déterminante. Ce n’est qu’à partir de la version 8.13 que la bibliothèque offre un contrôle explicite pour désactiver les opérations « unfuzzed ». Les versions antérieures ne permettent pas cette protection, ce qui rend la mise à jour doublement nécessaire : Active Storage doit être patché pour demander la désactivation, et libvips doit être capable de l’appliquer.
De la lecture de fichier à l’exécution de code : pourquoi le danger est maximal
Lire des fichiers arbitraires constitue déjà un incident grave, mais ici les dégâts peuvent rapidement s’amplifier. Avec la SECRET_KEY_BASE, un attaquant peut falsifier des sessions, générer des jetons valides et, dans de nombreux scénarios, obtenir l’exécution de code à distance en exploitant des mécanismes de sérialisation ou d’autres fonctionnalités du framework. Les identifiants pour les systèmes externes (bases de données, stockage, API) ouvrent ensuite la voie au déplacement latéral : depuis l’application Rails, il est possible de passer à d’autres composants de l’infrastructure, étendant ainsi la compromission.
Le score CVSS de 9,5 reflète précisément cet enchaînement : vecteur d’attaque simple (téléchargement d’une image), aucune authentification requise, impact très élevé sur la confidentialité, l’intégrité et la disponibilité. D’après Rapid7, au 30 juillet, aucun cas d’exploitation active n’avait été détecté en ligne. L’absence d’exploits publics ne réduit toutefois pas l’urgence : le délai entre la divulgation et les premières tentatives d’attaque peut se réduire à quelques heures.
Comment sécuriser votre application
Les correctifs pour Active Storage sont disponibles dans les versions 7.2.3.2, 8.0.5.1 et 8.1.3.1. Si vous utilisez une version prise en charge, appliquez immédiatement la mise à jour. Parallèlement, il faut mettre à jour libvips vers la version 8.13 ou supérieure : sans cette étape, la correction côté Rails serait inefficace car la bibliothèque ne pourrait pas désactiver les opérations dangereuses.
Une autre étape critique s’impose : la rotation des secrets. Si l’application a été exposée avant la mise à jour, tous les identifiants accessibles au processus – clés de session, SECRET_KEY_BASE, jetons d’API, mots de passe de bases de données, identifiants cloud – doivent être immédiatement remplacés. Appliquer le correctif sans effectuer la rotation des secrets laisserait en fait la porte ouverte à quiconque aurait déjà extrait les identifiants auparavant.
Enfin, il est recommandé de vérifier les journaux applicatifs et système à la recherche d’accès anormaux ou de téléchargements d’images suspects, même si la nature de l’attaque (lecture de fichiers) peut ne pas laisser de traces évidentes.
Sources
Cet article est une réécriture originale fondée sur les sources ci-dessous.




