Aller au contenu
Beveiligingsnieuws

Correctifs Rails : vulnérabilité critique RCE (CVE-2026-66066)

impliciet vertrouwen in Rails

Ruby on Rails a publié cette semaine des correctifs visant une vulnérabilité critique RCE. Selon les informations communiquées par les mainteneurs, le problème peut être exploité par un attaquant sans authentification pour provoquer une exécution de code à distance, après la divulgation de données sensibles.

La faille a été référencée sous CVE-2026-66066, avec un score CVSS de 9,5. Elle concerne notamment des applications qui utilisent la bibliothèque libvips pour traiter des images via Active Storage, et qui acceptent des téléversements d’images provenant d’utilisateurs non fiables.

Pourquoi cette vulnérabilité est préoccupante

D’après l’avis technique, la configuration par défaut d’une application Rails qui affiche des « variantes » d’images peut permettre à un attaquant d’accéder à des fichiers arbitraires sur le serveur. L’impact dépasse la simple lecture : l’attaquant pourrait récupérer des secrets nécessaires au système, puis enchaîner vers une exécution de code à distance.

En particulier, les mainteneurs expliquent que l’attaquant pourrait lire, entre autres, le contenu de variables d’environnement du processus. Une fois ces informations exposées, il devient possible de récupérer des éléments comme secret_key_base et des identifiants destinés à des systèmes externes.

Avec ces éléments en main, l’attaque peut être renforcée : l’avis indique que les informations divulguées peuvent être utilisées pour escalader l’incident jusqu’à la RCE ou pour se déplacer latéralement vers d’autres systèmes.

Le rôle de Active Storage et de libvips

Le cœur du problème se situe dans le traitement des images. La vulnérabilité touche les applications qui s’appuient sur libvips pour les opérations d’Active Storage, notamment lorsque des images peuvent être téléversées par des utilisateurs dont on ne peut pas garantir la confiance.

Le mécanisme décrit s’appuie sur le fait que libvips considère certaines opérations de lecture/écriture de fichiers comme « unfuzzed », c’est-à-dire non adaptées à du contenu non fiable. Or, d’après les mainteneurs, Active Storage n’a pas désactivé ces opérations non sûres dans le contexte concerné.

Concrètement, un attaquant pourrait téléverser un fichier fabriqué afin de déclencher une des opérations marquées comme « unfuzzed ». Une fois l’opération déclenchée, il devient possible de divulguer le contenu de fichiers accessibles sur le système visé.

Ce qui peut être exposé

Les détails de l’avis mettent l’accent sur l’exposition de secrets et de paramètres sensibles. Parmi les éléments cités figurent notamment :

  • des données présentes dans l’environnement du processus (variables d’environnement) ;
  • la valeur de secret_key_base ;
  • des identifiants (credentials) utilisés pour des services externes.

Les mainteneurs précisent que, grâce à cette divulgation, un attaquant peut basculer vers des étapes ultérieures, dont l’escalade vers la RCE.

Référence CVE-2026-66066 et correctifs disponibles

La faille CVE-2026-66066 a été corrigée dans des versions spécifiques d’Active Storage. Les mainteneurs indiquent que le correctif est disponible dans :

  • Active Storage 7.2.3.2
  • Active Storage 8.0.5.1
  • Active Storage 8.1.3.1

Le conseil est clair : mettez à jour votre déploiement le plus rapidement possible pour éliminer la voie d’exploitation décrite.

Mettre à jour libvips : une étape indispensable

Au-delà d’Active Storage, les mainteneurs recommandent aussi de mettre à jour libvips. Le point clé : des versions antérieures de la bibliothèque ne permettent pas de désactiver les opérations « unfuzzed » dans ce contexte.

Dans l’avis, il est indiqué de viser au minimum libvips 8.13. Cette mise à niveau aide à s’assurer que le comportement associé aux opérations considérées non sûres n’est plus exploitable tel que décrit.

Ce que vous devez faire après la mise à jour

Corriger la vulnérabilité est la première étape. Toutefois, l’avis rappelle un point important : la mise à jour n’annule pas nécessairement une fuite de secrets déjà survenue.

En cas d’exposition antérieure, l’application doit traiter tout secret lisible par le processus applicatif comme potentiellement compromis. Les mainteneurs recommandent donc d’assainir l’environnement en changeant les valeurs concernées (clés, identifiants et secrets) dès que vous suspectez ou confirmez un impact.

Cette approche réduit le risque que des attaquants déjà en possession d’informations utilisent celles-ci pour accéder à d’autres ressources.

Exploitation en conditions réelles

D’après des informations relayées par la société d’analyse Rapid7, au 30 juillet, il n’existait aucune preuve d’une exploitation de cette vulnérabilité dans la nature.

Même en l’absence de signalement d’attaque active, la criticité du défaut et le potentiel d’impact (divulgation de fichiers arbitraires puis RCE) justifient une mise en conformité rapide.

Bonnes pratiques pour réduire l’exposition

En plus des mises à jour, vous pouvez renforcer la sécurité autour des téléversements d’images et du traitement multimédia. Voici des mesures pragmatiques à envisager :

  • limiter les fonctionnalités qui exposent directement des variantes d’images si ce n’est pas nécessaire ;
  • contrôler strictement les types de fichiers acceptés et appliquer des validations côté application ;
  • réduire les droits du processus applicatif pour limiter la portée d’une éventuelle divulgation ;
  • surveiller les journaux pour détecter des patterns anormaux liés aux upload et au traitement.

Ces actions ne remplacent pas les correctifs, mais elles diminuent la surface d’attaque.

Conclusion

La publication des correctifs pour CVE-2026-66066 met en évidence une vulnérabilité critique RCE potentiellement exploitable via Active Storage et le traitement d’images. En cause : la possibilité de lire des fichiers arbitraires, puis d’exploiter des secrets exposés pour enchaîner vers l’exécution de code à distance.

Pour protéger vos systèmes, mettez à jour Active Storage vers les versions corrigées (7.2.3.2, 8.0.5.1, 8.1.3.1) et appliquez aussi une mise à niveau de libvips à partir de 8.13. Enfin, si des secrets ont pu être exposés, procédez à leur rotation sans attendre.

Source: https://www.securityweek.com/ruby-on-rails-patches-critical-vulnerability/