Les chercheurs en cybersécurité ont détaillé une vulnérabilité de sécurité de haute gravité récemment corrigée dans la populaire bibliothèque Fastjson qui pourrait être potentiellement exploitée pour réaliser l’exécution de code à distance. Suivi en tant que CVE-2022-25845 (score CVSS : 8,1), le problème concerne un cas de désérialisation de données non approuvées dans une fonctionnalité prise en charge appelée « AutoType ». Il a été corrigé par les mainteneurs du projet dans la version 1.2.83 publiée le 23 mai 2022. « Cette vulnérabilité affecte toutes les applications Java qui s’appuient sur les versions 1.2.80 ou antérieures de Fastjson et qui transmettent des données contrôlées par l’utilisateur aux API JSON.parse ou JSON.parseObject sans spécifier une classe spécifique à désérialiser », a déclaré Uriya Yavnieli de JFrog dans un rédaction. Fastjson est une bibliothèque Java utilisée pour convertir des objets Java en leur représentation JSON et vice versa. AutoType, la fonction vulnérable à la faille, est activée par défaut et est conçue pour spécifier un type personnalisé lors de l’analyse d’une entrée JSON qui peut ensuite être désérialisée en un objet de la classe appropriée. « Cependant, si le JSON désérialisé est contrôlé par l’utilisateur, son analyse avec AutoType activé peut entraîner un problème de sécurité de désérialisation, car l’attaquant peut instancier n’importe quelle classe disponible sur le Classpath et alimenter son constructeur avec des arguments arbitraires », a expliqué Yavnieli. Alors que les propriétaires du projet ont précédemment introduit un safeMode qui désactive AutoType et a commencé à maintenir une liste de blocage de classes pour se défendre contre les failles de désérialisation, la faille nouvellement découverte contourne la dernière de ces restrictions pour entraîner l’exécution de code à distance. Il est recommandé aux utilisateurs de Fastjson de mettre à jour vers la version 1.2.83 ou d’activer safeMode, qui désactive la fonction quelle que soit la liste d’autorisation et la liste de blocage utilisées, fermant efficacement les variantes de l’attaque de désérialisation. « Bien qu’un exploit PoC public existe et que l’impact potentiel soit très élevé (exécution de code à distance), les conditions de l’attaque ne sont pas triviales (transmission d’entrées non fiables à des API vulnérables spécifiques) et, plus important encore, une recherche spécifique à la cible est nécessaire pour trouver un classe de gadgets à exploiter », a déclaré Yavnieli.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *