Bulletins

Une faille dans le langage de préprocesseur Less.js conduit le site web à divulguer les clés secrètes d'AWS

bs1.jpg

Une vulnérabilité dans le langage préprocesseur populaire Less.js a été découverte. Elle pourrait être exploitée pour réaliser une exécution de code à distance (RCE) contre des sites web qui permettent aux utilisateurs de saisir du code Less.js

Less.js se convertit en code CSS valide et est conçu pour faciliter l'écriture de CSS pour les sites Web. La bibliothèque Less.js prend en charge les plugins qui peuvent être inclus directement dans le code Less à partir d'une source distante en utilisant la syntaxe @plugin. Les plugins sont écrits en JavaScript et lorsque le code Less est interprété, tous les plugins inclus s'exécutent. Cette fonctionnalité peut exposer l'utilisateur à une attaque à distance, comme l'expliquent les chercheurs de la société canadienne infosec dans un article, pour cela toutes les versions de Less qui supportent la syntaxe @plugin sont vulnérables.

Les chercheurs se sont intéressés à CodePen.io pour leur test, un site web populaire pour créer des extraits de code web et qui prend en charge les langages standard ainsi que Less.js.

Ils ont essayé leurs PoCs contre le site et ont pu divulguer leurs clés secrètes AWS et exécuter des commandes arbitraires à l'intérieur de leurs AWS Lambdas-une plateforme informatique sans serveur basée sur les événements fournis par Amazon dans le cadre d'Amazon Web Services.-.

La vulnérabilité a été signalée à CodePen.io, qui a appliqué un correctif.

Less n'a pas patché le bug. Pour cela, les utilisateurs de Less.js devraient utiliser à la place du code Less, un CSS ordinaire et si le support de Less est nécessaire, alors transpilez le code Less côté client pour éviter la menace d'attaques SSRF et RCE. N'oubliez pas également de passer à une version récente où l'exécution de backtick basée sur JavaScript est désactivée par défaut et de forker la bibliothèque Less et de supprimer le support de la syntaxe `@plugin`.