Des chercheurs d’AntGroup FG Security Lab ont découvert une vulnérabilité de sécurité critique permettant à un attaquant d’exécuter du code à distance dans l’environnement d’exécution d’une application Grails.
Grails est un framework d’application Web open source basé sur le langage de programmation Apache Groovy et est utilisé pour développer des applications Web agiles. Les clients incluent Google, IBM, Walmart, Credit Suisse et Mastercard.
La faille, suivie à l’aide de CVE-2022-35912, permet à un attaquant d’exécuter du code à distance dans l’environnement d’exécution d’une application Grails en émettant une requête Web spécialement conçue qui accorde à l’attaquant l’accès au chargeur de classe.
L’attaque exploite une section de la logique de liaison de données Grails, qui est invoquée de plusieurs manières, notamment la création d’objets de commande, la construction de classes de domaine et la liaison de données manuelle lors de l’utilisation de bindData.
La vulnérabilité a été confirmée sur les versions 3.3.10 et supérieures du framework Grails, y compris le framework Grails 4 et 5, qui s’exécutent sur Java 8. Elle a été observée à la fois dans le runtime Tomcat intégré et dans les applications déployées en tant qu’archive Web (WAR) pour une instance de Tomcat.
« En raison de la nature de cette vulnérabilité, nous suggérons fortement que toutes les applications Grails, y compris celles qui ne sont pas vulnérables à cette attaque spécifique, soient mises à jour vers une version corrigée de Grails », a noté l’équipe Grails dans un article de blog.
« Bien que nous n’ayons pas été en mesure de reproduire cet exploit spécifique sur des applications fonctionnant sous Java 11 ou dans des versions du framework Grails antérieures à 3.3.10, la nature de la vulnérabilité est telle que des variations de l’attaque pourraient être découvertes dans les versions antérieures de Grails, et les applications Grails exécutées sur des versions supérieures de Java seront impactées.
Correctifs disponibles
Les versions 5.2.1, 5.1.9, 4.1.1 et 3.3.15 ont maintenant été corrigées et l’équipe recommande de passer à une version corrigée. Les applications Grails 4.x peuvent être mises à niveau vers la version 4.1.1 ou supérieure, les applications Grails 5.0.x et 5.1.x peuvent être mises à niveau vers la version 5.1.9 ou supérieure et les applications Grails 5.2 peuvent être mises à niveau vers la version 5.2.1 ou supérieure.
« La Grails Foundation et l’équipe de développement principale de Grails prennent la sécurité des applications très au sérieux », a écrit l’équipe. « Nous continuons à rechercher et à surveiller cette vulnérabilité. »